Herencia de Objetos PHP

Páginas: 5 (1217 palabras) Publicado: 29 de mayo de 2014
Herencia de Objetos en PHP
La herencia es un principio de programación bien establecido y PHP hace uso de él en su modelado de objetos. Este principio afectará la manera en que muchas clases y objetos se relacionan unas con otras.
Por ejemplo, cuando se extiende una clase, la subclase hereda todos los métodos públicos y protegidos de la clase padre. A menos que una clase sobrescriba esosmétodos, mantendrán su funcionalidad original.
Esto es útil para la definición y abstracción de la funcionalidad y permite la implementación de funcionalidad adicional en objetos similares sin la necesidad de reimplementar toda la funcionalidad compartida.
Para comenzar a hablar de programación orientada a objetos (OOP – Object Oriented Programming) es necesario recordar los conceptos de laprogramación orientada a objetos. Estos conceptos varían entre los distintos autores, pero podemos mencionar algunos que son básicos y necesarios para cualquier lenguaje del cual pueda decirse que es orientado a objetos:
- Tipos de datos abstractos e información encapsulada
- Herencia
- Polimorfismo
La encapsulación en PHP se codifica utilizando clases:

Obviamente está nomenclatura es sólo avalor de recomendación para mantener un standard entre el código de los distintos programadores, y puede no ser respetado. Lo importante es acordar una nomenclatura standard que todos respeten.
Las propiedades de los objetos son definidas en PHP utilizando la declaración “var” dentro de la clase. Cuando se declara una propiedad la misma no tiene tipo alguno asignado, hasta quenosotros la asignemos algún valor en particular. Una propiedad puede ser un entero, un vector, un vector asociativo, e inclusive puede ser otro objeto.
Los métodos son definidos como funciones, también dentro de la clase,. Y para acceder a las propiedades de la instancia de esa clase es necesario referirse a las propiedades como $this->name. En caso de no utilizar el “$this->” la variableserá local al método y una vez terminada la ejecución del mismo se perderá su valor.
Para crear una instancia de un objeto debemos ejecutar el operador “new”, que nos devuelve en una variable un objeto de la clase que le estamos indicando.
$obj = new Something;
Una vez instanciado el objeto podemos utilizar sus métodos:
$obj->setX(5);
$see=$obj->getX();
El método setXejecutado en el objeto $obj hizo que se asigne un 5 a la propiedad “x” de dicha instancia. Notemos en este punto que podríamos haber seteado la propiedad “x” con cualquier tipo de variables, por ejemplo un string.
Para asignarle 5 a la propiedad “x” de nuestro objeto $obj podríamos haber puesto en nuestro código directamente “$obj->x=5;”, sin la necesidad de llamar a ningún método, pero elproblema radicaría en que en que estaríamos violando la regla de encapsulamiento de los objetos. Una buena práctica de la programación orientada a objetos es acceder a las propiedades solamente mediante métodos propios de la clase y jamás acceder a ellos de otra forma.
Lamentablemente PHP no ofrece la posibilidad de declarar las propiedades privadas, por lo que el programar en forma “encapsulada” setorna más una filosofia de programación que una obligación.
La herencia en PHP se realiza utilizando la sentencia “extends”:
Ejemplos:

Los objetos de la clase “Another” poseen todas las propiedades y métodos de su clase padre “Something”, más las propiedades y métodos propios. Ahora podemos ejecutar por ejemplo los siguientes comandos:
$obj2=new Another;
$obj2->setX(6);
$obj2->setY(7);En PHP una única clase de objetos no puede ser “hija” de más de un “padre”, lo que es conocido como múltiple herencia.
En PHP se pueden reescribir métodos de la clase padre en la clase hijo (overriding). Para esto sólo hace falta volver a definir la función en el objeto hijo. Por ejemplo si queremos redefinir el método getX para la clase “Another” simplemente definimos la...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Php orientado a objetos
  • php orientado a objetos
  • Codificacion Relaciones Objetos Poo Php
  • Programacion orientada a objeto php
  • Programación Orientada A Objetos En Php
  • Programación orientada a objetos con php
  • Manual de php orientado a objetos
  • Php orientado a objetos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS