Ejercicio php - Herencia de clases

Seguent comentari

 

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

Programació web en l'entorn Servidor.

Curs subvencionat