La herencia de las clases PHP Programación Orientada a Objetos en PHP - Parte 3 Introducción Esta es la parte 3 de mi serie, Programación Orientada a Objetos en PHP. La herencia es la capacidad de definir nuevas clases utilizando clases existentes como base. Explico que en esta parte de la serie. Nota: Si no puede ver el código o si cree que falta algo (enlace roto, la imagen ausente), simplemente en contacto conmigo en [email protected]. Es decir, en contacto conmigo para el más mínimo problema que tenga acerca de lo que está leyendo.
Nuevas Propiedades y métodos Una propiedad o un método se llama un miembro de una clase. Usted puede tener una clase con sus miembros; entonces usted quiere una nueva clase que tendrán esos mismos miembros y nuevos miembros. ¿Se va a describir (crear) una nueva clase volver a escribir los mismos miembros antiguos de la clase existente más nuevos miembros? PHP existe de tal manera que se puede tener una clase con sus miembros y luego una nueva clase relacionada con los mismos miembros y nuevos miembros.
Así que, si quieres una clase que simplemente tiene miembros adicionales, además de lo que tiene una clase existente, se hereda (ver más abajo) desde la clase existente añadiendo los nuevos miembros. Ejemplo El siguiente programa muestra una clase con dos propiedades y un método. Bueno, también tiene la función constructora.
El método agrega los valores de las dos propiedades: la clase Calculadora {$ num1 público; $ num2 público; __construct función ($ v1, v2 $) {$ this-> num1 = $ v1; $ this-> num2 = $ v2; } Function add público () {$ sum = $ this-> num1 + $ this-> num2; devolver $ suma; }} $ MyObj = new Calculadora (6,7); $ resultado = $ myObj-> add (); echo $ resultado; ?> Imagine que usted desea que una clase que cuadrar una suma (una suma es la suma de dos valores) y añadir un valor fijo (digamos 5) al cuadrado. Ya tenemos una clase que sumando los dos valores.
Así, podemos derivar una clase de esta clase existentes. La clase derivada es la clase heredada. Contará con una propiedad adicional, que celebrará el valor fijo
(5). Contará con un método adicional que se enfrentarán la suma y añade el valor fijo. Hereda las dos propiedades y el método add () de la clase existente. La sintaxis para derivar una clase de otra es: Clase ClaseDerivada extiende baseClassName {//nuevos miembros} se comienza con la palabra clave, la clase. Esto es seguido por el nombre de la (heredada) clase derivada. Entonces usted tiene un espacio y la palabra, se extiende.
A continuación tienes un espacio nuevo y luego el nombre de la clase existente. La clase existente se llama la clase base. Decimos la clase derivada se hereda de la clase base. Después de que el nombre de la clase base está escrito más arriba, usted tiene que describir (código) de la clase derivada (nuevas propiedades y /o nuevos métodos) dentro de llaves.
El siguiente código muestra cómo derivar una clase usando la clase de base antes mencionado: la clase Calculadora {$ num1 público; $ num2 público; __construct función ($ v1, v2 $) {$ this-> num1 = $ v1; $ this-> num2 = $ v2; } Function add público () {$ sum = $ this-> num1 + $ this-> num2; devolver $ suma; }} Class ChildCalculator extiende Calculadora {public $ fixedVal; función pública squareAdd ($ respuesta) {$ finalVal = $ respuesta * $ respuesta + $ this-> fixedVal; return $ finalVal; }} $ MyChildObj = new ChildCalculator (6,7); $ myChildObj-> fixedVal = 5; $ resultado = $ myChildObj-> add (); $ endResult = $ myChildObj-> squareAdd ($ resultado); echo $ endResult; ?>