Sobes.tech
Junior

O que é uma extensão (extend) no contexto do PHP?

sobes.tech IA

Resposta da IA

A extensão, ou herança, em PHP é um mecanismo que permite a uma classe (classe filha ou subclasse) herdar propriedades e métodos de outra classe (classe pai ou base).

A palavra-chave extends é usada para indicar a classe pai.

Vantagens da herança:

  • Reutilização de código: Não é necessário escrever o mesmo código várias vezes.
  • Extensibilidade: A classe filha pode adicionar novas propriedades e métodos, ou sobrescrever os existentes da classe pai.
  • Polimorfismo: Objetos de diferentes classes podem ser tratados como objetos de uma classe pai comum.

Exemplo:

<?php

class Animal {
    public function eat() {
        echo "O animal come.";
    }
}

class Dog extends Animal {
    public function bark() {
        echo "O cão late.";
    }
}

$dog = new Dog();
$dog->eat(); // Chamada do método da classe pai
$dog->bark(); // Chamada do método da classe filha

?>

A classe filha não herda:

  • Propriedades e métodos privados (embora existam no objeto, não podem ser chamados diretamente da classe filha).
  • O construtor da classe pai não é chamado automaticamente ao criar um objeto da classe filha, a menos que seja explicitamente indicado com parent::__construct().