Chamando funções de classe filha da classe pai
Em PHP, é possível chamar uma função de uma classe filha dentro de uma classe pai, mas requer um planejamento cuidadoso.
Considere o seguinte exemplo de código:
class whale { ... }
class fish extends whale { ... }
Neste exemplo, temos uma classe baleia e uma classe peixe que herda dela. O objetivo é chamar a função test() da classe fish dentro da função myfunc() da classe baleia.
Solução: use classes abstratas
Para alcançar isso, podemos aproveitar classes abstratas. Uma classe abstrata impõe a implementação de certos métodos em suas classes filhas.
abstract class whale {
function __construct() { ... }
function myfunc() { $this->test(); }
abstract function test();
}
Na classe baleia atualizada, agora declaramos myfunc() e test() como métodos abstratos. myfunc() chamará test(), que precisa ser implementado na classe filha.
class fish extends whale {
function __construct() { parent::__construct(); }
function test() { echo "So you managed to call me !!"; }
}
Na classe fish, fornecemos uma implementação para test(). Isso garante que os requisitos abstratos da classe pai sejam atendidos.
Com esta configuração, agora podemos chamar a função test() de fish dentro de myfunc() da classe baleia.
$fish = new fish();
$fish->test(); // Output: So you managed to call me !!
$fish->myfunc(); // Output: So you managed to call me !!
Ao usar classes abstratas, aplicamos a herança adequada e garantimos que as classes filhas implementem os métodos necessários. Isso nos permite chamar funções de classe filha de classes pai perfeitamente.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3