14
TIC-92 Edgar Nava Reyes Javier Torres Arzate Guía de POO en PHP

Diapositiva desarrollo

  • Upload
    edgar

  • View
    231

  • Download
    0

Embed Size (px)

DESCRIPTION

Guía de POO en PHP

Citation preview

Page 1: Diapositiva desarrollo

TIC-92

Edgar Nava Reyes Javier Torres Arzate

Guía de POO en PHP

Page 2: Diapositiva desarrollo

ClaseLas clases son plantillas que agrupan comportamiento (métodos) y estados (atributos) de los futuros objetos.Método

Un método es un trozo de código que puede ser llamado o invocado por el programa principal o por otro método para realizar alguna tarea específica. El método es llamado por su nombre o identificador seguido por una secuencia de parámetros o argumentos (datos utilizados por el propio método para sus cálculos) entre paréntesis. Cuando el método finaliza sus operaciones, devuelve habitualmente un valor simple al programa que lo llama, que utiliza dicho valor de la forma que le convenga.

Page 3: Diapositiva desarrollo

Referencias This

Solo es utilizado en programación orientada a objetos y se define $this dentro de un objeto como un puntero al objeto en que está contenido.

La palabra this está disponible para hacer referencia al objeto en el que se encuentra y puede ser utilizada en cualquier objeto.

Page 4: Diapositiva desarrollo

Diferentes formas para el paso de argumentos a un método en Php

La primera forma es crear un formulario, el cuál utiliza los métodos GET y POST.

$_GET y $_POST son dos de las variables superglobales que vimos antes. Por tener ámbito global, los valores que se incluyan mediante estos dos métodos estarán disponibles en la página siguiente. Mediante estos métodos podemos pasar determinados valores de una pagina a otra.

El método que se desee usar se indica en la propiedad "Method", y la página a la cual deseo enviar la información se indica en la propiedad "Action" del formulario.

Es importante recordar que $_GET y $_POST son arreglos que tienen posiciones asociativas, es decir, cada posición en el arreglo tiene un nombre, y ese nombre es el mismo que tiene cada campo del formulario.

Page 5: Diapositiva desarrollo

Ejemplo Envío mediante Método GET

Este método no es tan eficaz ya que en la url se puede visualizar lo que estamos recibiendo a diferencia de POST

Page 6: Diapositiva desarrollo

Ejemplo Envío mediante método

POSTEste método nos permite ocultar en la URL los parámetros recibidos

Page 7: Diapositiva desarrollo

El método __toString() permite a una clase decidir cómo comportarse cuando se le trata como un string. Por ejemplo, lo que echo $obj; mostraría. Este método debe devolver un string, si no se emitirá un nivel de error fatal. E_RECOVERABLE_ERROR.

Devolver el valor desde un método

Page 8: Diapositiva desarrollo

El objetivo de un constructor es el de inicializar un objeto cuando éste es creado.

Asignaremos los valores iniciales así como los procesos que ésta clase deba realizar

Se utiliza para crear tablas de métodos virtuales y poder así desarrollar el polimorfismo, una de las herramientas de la programación orientada a objetos (POO).

Constructor por defecto: Un constructor por defecto es un constructor sin parámetros que no hace nada.

Sin embargo será invocado cada vez que se construya un objeto sin especificar ningún argumento, en cuyo caso el objeto será iniciado con los valores predeterminados por el sistema (los atributos numéricos a ceros, los alfanuméricos a nulos, y las referencias a objetos a null).

Constructor con Parámetros: Un constructor con Parámetros siempre debe especificar algún argumento, en

cuyo caso el objeto será iniciado con los valores indicados por el usuario, y realizará también las acciones programadas al ejecutarse.

Constructor

Page 9: Diapositiva desarrollo

NOTA: Si creamos un programa y no definimos el Constructor, el sistema toma por defecto al Constructor Vacío, pero si definimos a un Constructor con parámetros y al Vacío, esto se llama Sobrecarga de Constructores, y es cuando un programa tienes 2 o más Constructores, de los cuales solo uno puede estar vacío (es decir sin Parámetros).

Ejemplo

Page 10: Diapositiva desarrollo

HerenciaA través de la herencia, una clase hija hereda de su padre los atributos y métodos, de manera que si por ejemplo tenemos una clase padre “Figura” con un atributo “área”, y dos clases hijas: “Rectángulo” y “Triángulo”.

En PHP la palabra clave para definir la herencia es: “extend” y la forma en que se define es:

class Padreclass Hija extends Padre.

El constructor y los atributos, “base” y “altura” están definidos en la clase “Figura”. El método “área” es propio de cada hija.

Page 11: Diapositiva desarrollo

Polimorfismo

Polimorfismo se refiere a la habilidad de un objeto de determinar que método invocar para un objeto pasado como argumento en tiempo de ejecución. Por ejemplo, si tenemos una clase "Figura" que define un método para dibujar y dos clases derivadas Círculo y Rectángulo donde se sobrescriben ese método, se puede tener un método que espere un argumento "x" y luego hacer $x->dibujar(). Si tuviéramos polimorfismo, el método "dibujar" llamado dependería del tipo de objeto que se le pasa a la función. 

Page 12: Diapositiva desarrollo

Diferencia entre public, private,

protectedPara definir una variable o propiedad en una clase es obligatorio anteponer a su nombre una de estas tres palabras reservadas:public, private o protected. 

La palabra public determina la visibilidad de la propiedad, significa básicamente que se puede acceder al miembro por fuera de la clase.

Las variables private no pueden ser accedidas por fuera de la clase

Los elementos declarados como Protected son accesibles desde la misma clase donde fueron definidos y en sus subclases.

Page 13: Diapositiva desarrollo

Clase AbstractaLas clases abstractas son clases normales con  capacidades especiales, dado a que sus propiedades y métodos que pueden ser implementados o noLas clases abstractas son similares a las clases normales en su construcción y concepto aunque se diferencian de estas en 2 aspectos fundamentales :*Una clase abstracta no puede ser instanciada, no podremos crear objetos a partir de ellas.*Una clase abstracta puede incorporar métodos abstractos. Los métodos abstractos son aquellos que solo existe su declaración.

Page 14: Diapositiva desarrollo

A veces tenemos un grupo de clases que no están relacionadas mediante herencia pero que comparten determinados comportamientos. Por ejemplo podemos necesitar un método serializar para almacenar objetos de distintas clases en una base de datos.

En POO, una interfaz nos permite especificar que un objeto puede realizar una determinada función si especificar cómo lo hace. Una interfaz es un contrato entre objetos sin relacionar para realizar una función común. Una clase que implemente una interfaz garantiza que sus objetos responderán al comportamiento definido por la interfaz.

Interfaces