Introdução à herança em PHP

Herança é a maneira de estender a funcionalidade de classe existente na classe recém-criada. Também podemos adicionar algumas funcionalidades adicionais à classe recém-criada, além de estender as funcionalidades da classe base. Quando herdamos uma classe, dizemos que uma classe herdada é uma classe filho (subclasse) e da qual herdamos é chamada de classe pai. A classe pai também é conhecida como classe base. Esta é a maneira que permite o melhor gerenciamento do código de programação e a reutilização do código. A idéia por trás do uso da herança tem tudo a ver com um melhor gerenciamento do código e sua reutilização. Neste tópico, vamos aprender sobre herança em PHP.

Tipos de herança em PHP

O PHP suporta vários tipos de herança como JAVA. A tabela abaixo mostra a lista de tipos de herança e o status de suporte no PHP.

Tipo de herançaSuporte em PHP
Herança únicaSIM
Herança multinívelSIM
Herança HierárquicaSIM
Herança múltiplaNÃO

1. Herança Única

O PHP suporta herança única. Herança única é um conceito em PHP no qual uma classe pode ser herdada apenas por uma única classe. Precisamos ter duas classes entre esse processo. Um é a classe base (classe pai) e o outro, a própria classe filho. Vamos entender o mesmo com um exemplo. É popularmente conhecido como herança simples. Esse tipo de herança na linguagem PHP permanece o mesmo que JAVA, C ++ etc.

Código:

<_?php
class MyAccess (
var $var = "This is first var";
protected $fist_name;
// simple class method
function returnVar() (
echo $this->fist_name;
)
function set_fist_name($set_this)(
$this->fist_name = $set_this;
)
)
class child extends MyAccess (
function setVal($set_this)(
$this->fist_name = $set_this;
)
function getVal()(
echo $this->fist_name;
)
)
$obj1 = new child();
$obj1->setVal("Jai Shre");
$obj1->getVal();
?>

MyAccess é o pai e filho é o nome da classe filho.

Resultado:

2. Herança multinível

PHP suporta herança multinível. Nesse tipo de herança, teremos mais de 2 classes. Nesse tipo de herança, uma classe pai será herdada por uma classe filho e, em seguida, ela será herdada pela classe filho. Esse tipo de herança na linguagem PHP permanece o mesmo que C ++ etc.

Código:

<_?php
class ParentClass (
var $var = "This is first var";
public $fist_name;
// simple class method
function returnVar() (
echo $this->fist_name;
)
function set_fist_name($set_this)(
$this->fist_name = $set_this;
)
)
class child_1 extends ParentClass (
function setVal($set_this)(
$this->fist_name = $set_this;
)
function getVal()(
echo "Extended By Parent Class -". $this->fist_name;
)
)
class child_2 extends child_1 (
function setVal($set_this)(
$this->fist_name = $set_this;
)
function getVal()(
echo "Extended By child 1 - ".$this->fist_name;
)
)
$obj1 = new child_1();
$obj1->setVal("This is first inherited class");
$obj1->getVal();
echo "
";
$obj2 = new child_2();
$obj2->setVal("This is second inherited class");
$obj2->getVal();
?>

Resultado:

3. Herança Hierárquica

O PHP suporta herança hierárquica. Herança hierárquica é o tipo de herança em que um programa consiste em um único pai e mais de uma classe filho. Vamos entender o mesmo com este exemplo. Esse tipo de herança na linguagem PHP permanece o mesmo que JAVA, C ++ etc.

Código:

<_?php
class ParentClass (
var $var = "This is first var";
public $fist_name;
// simple class method
function returnVar() (
echo $this->fist_name;
)
function set_fist_name($set_this)(
$this->fist_name = $set_this;
)
)
class child_1 extends ParentClass (
function setVal($set_this)(
$this->fist_name = $set_this;
)
function getVal()(
echo $this->fist_name;
)
)
class child_2 extends ParentClass (
function setVal($set_this)(
$this->fist_name = $set_this." - ".$set_this;;
)
function getVal()(
echo $this->fist_name;
)
)
$obj1 = new child_1();
$obj1->setVal("This is first child class");
$obj1->getVal();
echo "
";
$obj2 = new child_2();
$obj2->setVal("This is second child class");
$obj2->getVal();
?>

Resultado:

Temos uma classe pai chamada ParentClass e duas classes filho child_1 e child_2 respectivamente. O cenário fornecido da herança é chamado de herança hierárquica.

Importância da herança no PHP

A importância da herança é muito mais, pois traz enormes vantagens.

  • A reutilização do código é uma das mais frequentemente usadas na herança, a classe base permanece como está entre o processo. Como podemos ver no exemplo acima de toda a herança, o código está sendo reutilizado de uma classe para outra. Não precisamos reescrever a mesma coisa repetidamente.
  • Uma classe base pode ser usada por várias classes derivadas na hierarquia de classes. Sim, este é um tipo de herança em que podemos estender a classe pai com várias heranças.
  • A extensibilidade é uma das vantagens da herança na qual podemos estender o recurso de classe base sem fazer pouca ou nenhuma alteração para atender aos requisitos de negócios. Suponha que, no início, apenas vamos com uma classe pai, sem classe filha. Mas, em caso de necessidade, podemos adicionar a classe filho para atender às necessidades de negócios mais tarde.
  • A substituição é outra vantagem desse recurso de herança, na qual podemos reescrever a definição da função de classe base na classe derivada para fazer alterações conforme os requisitos de negócios.
  • Menos quantidade de código - enquanto isso, teremos menos código comparativamente enquanto avançamos com a herança em comparação com a maneira tradicional de codificação.
  • A herança também ativou os recursos de ocultação de dados também. Podemos expor a única parte necessária da classe pai à classe filha usando vários modificadores de acesso PHP.
  • Suporte completo ao MVC - podemos optar pelo MVC usando o conceito de herança.

Conclusão

Devemos usar a herança para cumprir nossos negócios, pois traz algumas vantagens adicionais em comparação com o código normal. Devemos cuidar da segurança dos dados enquanto lidamos com a herança. Podemos usar o modificador de acesso como privado, protegido para lidar com a ocultação e segurança de dados. O PHP não suporta múltiplas heranças.

Artigos recomendados

Este é um guia para herança em PHP. Aqui discutimos os tipos de herança no PHP, ou seja, único, multinível e hierárquico com o código de amostra apropriado. Você também pode consultar o seguinte artigo para saber mais -

  1. Sessões em PHP
  2. Compilador PHP
  3. Conexão com o banco de dados PHP
  4. Sobrecarga em PHP
  5. Sobrecarga de Python