Issuu on Google+

Guía de POO en PHP Presentado Por: Marco Antonio Chavelas Jardon. José Francisco Martínez Hernández


Elementos que conforman una Clase (Atributos, Métodos)  Atributos  Los atributos son las características individuales que diferencian un objeto de otro y determinan su apariencia, estado u otras cualidades. Los atributos se guardan en variables denominadas de instancia, y cada objeto particular puede tener valores distintos para estas variables.  Métodos  conjunto de instrucciones a las que se les asocia un nombre de modo que si se desea ejecutarlas, sólo basta o referenciarlas a través de dicho nombre en vez de tener que escribirlas.


Ejemplo.


Referencia THIS  La variable $this:  Dentro de un método, la variable $this hace referencia al objeto sobre el que invocamos el método. En la invocación $micaja->introduce("algo") se está llamando al método introduce sobre el objeto $micaja. Cuando se está ejecutando ese método, se vuelca el valor que recibe por parámetro en el atributo contenido. En ese caso $this->contenido hace referencia al atributo contenido del objeto $micaja, que es sobre el que se invocaba el método.


Ejemplo:


Diferentes formas para el paso de argumentos a un método  Paso por valor: El paso de parámetros por valor consiste en copiar el contenido de la variable que queremos pasar en otra dentro del ámbito local de la subrutina, consiste pues en copiar el contenido de la memoria del argumento que se quiere pasar a otra dirección de memoria, correspondiente al argumento dentro del ámbito de dicha subrutina.  Paso por referencia: El paso de parámetros por referencia consiste en proporcionar a la subrutina a la que se le quiere pasar el argumento la dirección de memoria del dato.  Paso por valor resultado: Se basa en que dentro de la función se trabaja como si los argumentos hubieran sido pasados por valor pero al acabar la función los valores que tengan los argumentos serán copiados a las variables que pertenecían.


Ejemplo por valor:


Método.  un método es una subrutina cuyo código es definido en una clase y puede pertenecer tanto a una clase, como es el caso de los métodos de clase o estáticos, como a un objeto, como es el caso de los métodos de instancia.


Ejemplo:


Constructor  Los constructores se encargan de resumir las acciones de inicialización de los objetos. Cuando se instancia un objeto, se tienen que realizar varios pasos en su inicialización, por ejemplo dar valores a sus atributos y eso es de lo que se encarga el constructor. Los constructores pueden recibir unos datos para inicializar los objetos como se desee en cada caso. 


Ejemplo:


Herencia:  La programación orientada a objetos tiene un mecanismo llamado herencia por el que se pueden definir clases a partir de otras clases. Las clases realizadas a partir de otra clase o mejor dicho, que extienden a otra clase, se llaman clases extendidas o clases derivadas.  Las clases extendidas heredan todos los atributos y métodos de la clase base. Además, pueden tener tantos atributos y métodos nuevos como se desee.  Para ampliar el ejemplo que venimos desarrollando, la clase Caja, vamos a crear una clase extendida llamada Caja_tematica. Esta clase hereda de caja, pero además tiene un "tema", que es la descripción del tipo de cosas que metemos en la caja. Con esto podemos tener varias cajas, cada una con cosas de un tema concreto.


Ejemplo:


Public  Modificador public  Es el nivel de acceso más permisivo. Sirve para indicar que el método o atributo de la clase es público. En este caso se puede acceder a ese atributo, para visualizarlo o editarlo, por cualquier otro elemento de nuestro programa. Es el modificador que se aplica si no se indica otra cosa. 


Ejemplo:


Private  Modificador private  Es el nivel de acceso más restrictivo. Sirve para indicar que esa variable sólo se va a poder acceder desde el propio objeto, nunca desde fuera. Si intentamos acceder a un método o atributo declarado private desde fuera del propio objeto, obtendremos un mensaje de error indicando que no es posible a ese elemento. 


Ejemplo:


Protected  Modificador protected  Este indica un nivel de acceso medio y un poco más especial que los anteriores. Sirve para que el método o atributo sea público dentro del código de la propia clase y de cualquier clase que herede de aquella donde está el método o propiedad protected. Es privado y no accesible desde cualquier otra parte. Es decir, un elemento protected es público dentro de la propia clase y en sus heredadas.


Ejemplo:


Clase Abstracta  Las clases abstractas son similares a las clases normales en su construccion 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 metodos abstractos. Los metodos abstractos son aquellos que solo existe su declaracion, dejando su implementacion a las futuras clases extendidas o derivadas.  Importante: Todos los metodos declarados como abstractos, deberan pertenecer necesariamente a una clase abstracta. Es decir que una clase normal no podremos definir un metodo como abstracto. Una clase abstracta tiene la misma estructura que una clase normal, solo es necesario añadir la palabra clave abstract al inicio de su declaracion. Nada mejor que un sencillo ejemplo para comprobarlo :


Ejemplo


Interfaz  Las interfaz es el recurso ideal para la implementación del polimorfismo, ya que las interfaz es un conjunto de declaraciones de funciones o métodos sin incluir su codificación, dejando a la clase que implementa la interfaz esta tarea.


Ejemplo


Guía de poo en php