Temas > Programacion > Php > Herencia en php
Julio

Otro requisito que tiene que tener un lenguaje para considerarse
orientado a objetos es la HERENCIA.
La herencia significa que se pueden crear nuevas clases partiendo
de clases existentes, que tendrá todos los atributos y los métodos
de su `superclase` o `clase padre` y además se le podrán añadir otros
atributos y métodos propios.
En PHP, a diferencia de otros lenguajes orientados a objetos (C++),
una clase sólo puede derivar de una única clase, es decir, PHP no
permite herencia múltiple.
Superclase o clase padre Clase de la que desciende o deriva una clase.
Las clases hijas (descendientes) heredan (incorporan) automáticamente
los atributos y métodos de la la clase padre.
Subclase
Clase desciendiente de otra. Hereda automáticamente los atributos y
métodos de su superclase. Es una especialización de otra clase. Admiten
la definición de nuevos atributos y métodos para aumentar la
especialización de la clase.
Veamos algunos ejemplos teóricos de herencia:
1) Imaginemos la clase Vehículo. Qué clases podrían derivar de ella?
                                 Vehiculo
    Colectivo           Moto           Auto
                                                        FordK      Renault
9
Siempre hacia abajo en la jerarquía hay una especialización
(las subclases añaden nuevos atributos y métodos.
2) Imaginemos la clase Software. Qué clases podrían derivar de ella?
                                                      Software
                  DeAplicacion                     DeBase
ProcesadorTexto      PlanillaDeCalculo             SistemaOperativo
Word WordPerfect Excel Lotus123                    Linux Windows
El primer tipo de relación que habíamos visto entre dos clases, es la
de colaboración. Recordemos que es cuando una clase contiene un
objeto de otra clase como atributo.
Cuando la relación entre dos clases es del tipo "...tiene un..." o 
"...es parte de...", no debemos implementar herencia. Estamos
frente a una relación de colaboración de clases no de herencia.
Si tenemos una ClaseA y otra ClaseB y notamos que entre ellas
existe una relacion de tipo "... tiene un...", no debe implementarse
herencia sino declarar en la clase ClaseA un atributo de la clase ClaseB.
Por ejemplo: tenemos una clase Auto, una clase Rueda y una clase
Volante. Vemos que la relación entre ellas es: Auto "...tiene 4..."
Rueda,
Volante "...es parte de..." Auto; pero la clase Auto no debe derivar de
Rueda ni Volante de Auto porque la relación no es de tipo-
subtipo sino de colaboración. Debemos declarar en la clase Auto 4
atributos de tipo Rueda y 1 de tipo Volante.
Luego si vemos que dos clase responden a la pregunta ClaseA "..es
un.." ClaseB es posible que haya una relación de herencia.
Por ejemplo:
Auto "es un" Vehiculo
Circulo "es una" Figura
Mouse "es un" DispositivoEntrada
Suma "es una" Operacion
Ahora plantearemos el primer problema utilizando herencia en
PHP. Supongamos que necesitamos implementar dos clases que
llamaremos Suma y Resta. Cada clase tiene como atributo $valor1,
$valor2 y $resultado. Los métodos a definir son cargar1 (que
inicializa el atributo $valor1), carga2 (que inicializa el atributo
$valor2), operar (que en el caso de la clase "Suma" suma los dos
atributos y en el caso de la clase "Resta" hace la diferencia entre
$valor1 y $valor2, y otro método mostrarResultado.
Si analizamos ambas clases encontramos que muchos atributos y
métodos son idénticos.
En estos casos es bueno definir una clase padre que agrupe dichos
atributos y responsabilidades comunes.
La relación de herencia que podemos disponer para este problema
es:
                                                  Operacion
                                Suma                 Resta
Solamente el método operar es distinto para las clases Suma y Resta
(esto hace que no lo podamos disponer en la clase Operacion), luego
los métodos cargar1, cargar2 y mostrarResultado son idénticos a las
dos clases, esto hace que podamos disponerlos en la clase Operacion.
Lo mismo los atributos $valor1, $valor2 y $resultado se definirán en la
clase padre Operacion.













¿Has olviado tu contraseña?

Pulsa aquí para registrate




Google






LunMarMieJueVieSabDom
     12
3456789
10111213141516
17 181920212223
24252627282930
31      

Martes 18 de Agosto 2026
Semana 34



Php


-Continuar usando PhpExcel con php7 y superiores
-Continuar enviando correos con phpmailer y gmail
-Instalar php-geoip en ubuntu 16.04
-Conectar remotamente php con sql server
-Generar codigo de barras en php
-Diferencia de dias entre dos fechas en php
-Sumar un dia a una fecha en php
-Restar una fecha con otra fecha en php
-Metodos estaticos de una clase static en php
-Metodo destructor de una clase destruct en php
-Operador instanceof en php
-Funcion clone() en php
-Referencia y clonacion de objetos en php
-Metodos y clases final
-Metodos abstractos en php
-Sobreescritura del constructor en php
-Sobreescritura de metodos en php
-Colaboracion de objetos en php
-Modificador acceso a atributos y metodos protected
-Parametros opcionales en php
-Parametros de tipo objeto en php
-Modificar a accesos a atributos y metodos publicos
-Llamada de metodos dentro de la clase en php
-Metodo constructor de una clase construct en php
-Atributos de una clase en php
-Metodos de una clase en php
-Concepto de programacion orientada a objetos (POO)
-Declarar una clase y creacion de un objeto en php
-Agregar imagenes dinamicas en un archivo HTML php
-Creacion de imagenes dinamicas desde PHP
-Redireccionar a otra pagina header en php
-$_SESSION Variables de sesion en php
-Cookie de sesion en php
-Borrado de una cookie en php
-Creacion y lectura de una cookie en php
-Upload Subir un archivo al servidor en php
-Paginacion de registros en php
-Parámetros en un hipervínculo en php
-Clausula Group By de SQL en php
-UPDATE Modificacion de un registro trabajando php
-Funcion count de SQL en php
-INNER JOIN Seleccion de registros de varias tablas
-INSERT usando una consulta previa a una tabla php
-UPDATE Modificacion de un registro de una taba php
-DELETE Borrar todos los registros de una tabla php
-DELETE Borrar registros de una tabla en php
-Consultas sql en php
-Mostrar registros sql en php
-Insert en php
-Bases de Datos MySQL con php
-Funciones en PHP
-Vectores asociativos en php
-Lectura de un archivo de texto en php
-Creacion de un archivo de texto en php
-Arrays en php
-Formularios Control textarea en php
-Formularios Control select en php
-Formularios Control checkbox en php
-Formularios Control radio en php
-Envio de datos de un FORMULARIO en php
-For while do while en php
-If en php
-Tipo String en php
-Tipos de variables en php
-Segundo programa en PHP
-Programa Hola Mundo en PHP
-Que es PHP
-No mostrar errores en php
-Como separar datos pegados de excel para textarea
-Operadores relacionales en php
-$_POST no funciona
-Como saber la ip remota de mi visita en php
-Buscador para nuestra pagina
-Volver a inicializar mysql_fetch_array
-Phpmyadmin Cannot start session without error
-Plantilla para web en php
-Header location no funciona
..............................................................................................................................................................................................................................................
(Contacto)..
Esta web utiliza cookies para obtener datos estadísticos de la navegación de sus usuarios. Política de privacidad y Aviso legal