Na programação orientada a objetos, a herança é uma técnica que permite criar novas classes a partir de outras já existentes, herdando seus atributos e métodos. Com isso, é possível reutilizar código e evitar a duplicação de informações. Já o polimorfismo é a capacidade que um objeto tem de assumir diferentes formas, permitindo que o mesmo método seja utilizado por diferentes classes de objetos.
Em PHP, a herança é implementada utilizando a palavra-chave extends
. Por exemplo:
phpclass Animal {
public function emitirSom() {
echo "Som de animal";
}
}
class Cachorro extends Animal {
public function emitirSom() {
echo "Au au";
}
}
class Gato extends Animal {
public function emitirSom() {
echo "Miau";
}
}
Nesse exemplo, as classes Cachorro
e Gato
herdam a função emitirSom()
da classe Animal
, mas cada uma implementa sua própria versão do método.
Já o polimorfismo pode ser implementado utilizando interfaces, que definem um conjunto de métodos que uma classe deve implementar. Por exemplo:
phpinterface Animal {
public function emitirSom();
}
class Cachorro implements Animal {
public function emitirSom() {
echo "Au au";
}
}
class Gato implements Animal {
public function emitirSom() {
echo "Miau";
}
}
Nesse exemplo, as classes Cachorro
e Gato
implementam a interface Animal
, garantindo que ambas possuem o método emitirSom()
. Isso permite que ambas sejam tratadas como objetos do tipo Animal
, independentemente de sua implementação específica.
Referência bibliográfica:
- Documentação oficial do PHP sobre classes e objetos: https://www.php.net/manual/en/language.oop5.php
- Livro "PHP para quem conhece PHP" de Juliano Niederauer. Editora Novatec.