Herencia de
clases
class Animal
{
protected $nombre;
protected $edad;
public function __construct($nombre, $edad)
{
$this->nombre = $nombre;
$this->edad = $edad;
}
public function comer() {
echo "El animal está
comiendo.";
}
public function dormir() {
echo "El animal está
durmiendo.";
}
}
class Perro
extends Animal {
private $raza;
public function __construct($nombre, $edad,
$raza) {
parent::__construct($nombre, $edad);
$this->raza = $raza;
}
public function ladrar() {
echo "El perro está
ladrando.";
}
}
// Creación
de un objeto de la clase Perro
$perro = new
Perro("Max", 5, "Labrador");
// Acceso a
los métodos de la clase Animal (heredados)
$perro->comer(); // Método de la clase Animal
$perro->dormir(); // Método de la clase Animal
// Acceso a
los métodos de la clase Perro
$perro->ladrar(); // Método específico de la clase Perro
En este
ejemplo, se define la clase base Animal, que tiene dos
propiedades protegidas: $nombre y $edad. También tiene dos
métodos públicos: comer() y dormir().
Luego, se
define la clase Perro, que extiende la clase Animal utilizando la palabra
clave extends. La clase Perro agrega una propiedad
privada $raza y un método público ladrar().
Dentro del constructor
de la clase Perro, se utiliza parent::__construct() para llamar al
constructor de la clase Animal y pasar los valores
correspondientes.
Cuando se
crea un objeto de la clase Perro, se heredan
automáticamente las propiedades y métodos de la clase Animal. Esto significa que el
objeto $perro puede acceder a los métodos comer() y dormir() definidos en la clase Animal, así como al método ladrar() específico de la clase
Perro.
La herencia
de clases permite compartir código y comportamiento común entre diferentes
clases, evitando la duplicación de código y promoviendo la reutilización.
Además, las clases derivadas pueden extender y personalizar el comportamiento
de la clase base, añadiendo propiedades y métodos adicionales según sea
necesario.

0 comments:
Publicar un comentario