Introducción a la herencia en PHP

La herencia es la forma de extender la funcionalidad de clase existente en la clase recién creada. También podemos agregar algunas funcionalidades adicionales a la clase recién creada, además de extender las funcionalidades de la clase base. Cuando heredamos una clase, decimos que una clase heredada es una clase secundaria (subclase) y de la que heredamos se llama clase primaria. La clase padre también se conoce como la clase base. Esta es la forma que permite una mejor gestión del código de programación y la reutilización del código. La idea detrás del uso de la herencia tiene que ver con una mejor gestión del código y la reutilización del código. En este tema, vamos a aprender sobre la herencia en PHP.

Tipos de herencia en PHP

PHP admite varios tipos de herencia como JAVA. La siguiente tabla muestra la lista de tipos de herencia y el estado de soporte en PHP.

Tipo de herenciaSoporte en PHP
Herencia únicaSI
Herencia MultinivelSI
Herencia jerárquicaSI
Herencia múltipleNO

1. Herencia individual

PHP admite herencia única. La herencia única es un concepto en PHP en el que una clase puede ser heredada por una sola clase solamente. Necesitamos tener dos clases entre este proceso. Una es la clase base (clase primaria) y la otra una clase secundaria. Vamos a entender lo mismo con un ejemplo. Es conocido popularmente como herencia simple. Este tipo de herencia en lenguaje PHP sigue siendo el mismo 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 es el padre y el hijo es el nombre de la clase hijo.

Salida:

2. Herencia multinivel

PHP admite herencia multinivel. En este tipo de herencia, tendremos más de 2 clases. En este tipo de herencia, una clase principal será heredada por una clase secundaria y luego esa clase secundaria será heredada por la clase secundaria. Este tipo de herencia en lenguaje PHP sigue siendo el mismo 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();
?>

Salida:

3. Herencia jerárquica

PHP admite herencia jerárquica. La herencia jerárquica es el tipo de herencia en el que un programa consta de un solo padre y más de una clase secundaria. Comprendamos lo mismo con este ejemplo. Este tipo de herencia en lenguaje PHP sigue siendo el mismo 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();
?>

Salida:

Tenemos una clase principal llamada ParentClass y dos clases secundarias child_1 y child_2 respectivamente. El escenario dado de la herencia se llama herencia jerárquica.

Importancia de la herencia en PHP

La importancia de la herencia es mucho más, ya que ofrece grandes ventajas.

  • La reutilización del código es una de las más utilizadas en la herencia, la clase base permanece como está entre el proceso. Como podemos ver en el ejemplo anterior de toda la herencia, el código se está reutilizando de una clase a otra. No necesitamos que reescribamos la misma cosa una y otra vez.
  • Una clase base puede ser utilizada por varias de sus clases derivadas en la jerarquía de clases. Sí, este es un tipo de herencia en el que podemos ir para extender en la clase padre con múltiples herencias.
  • La extensibilidad es una de las ventajas de la herencia en la que podemos extender la función de clase base sin hacer pocos o ningún cambio para cumplir con los requisitos del negocio. Supongamos que al principio solo vamos con una clase principal solo sin clase secundaria. Pero en caso de necesidad, podemos agregar la clase secundaria para satisfacer nuestras necesidades comerciales más adelante.
  • La anulación es otra ventaja de esta característica de herencia en la que podemos reescribir la definición de la función de clase base en la clase derivada para realizar cambios según los requisitos del negocio.
  • Menos cantidad de código: mientras tanto, tendremos menos código comparativamente mientras avanzamos con la herencia en comparación con la forma tradicional de codificación.
  • La herencia también habilitó las funciones de ocultación de datos. Podemos exponer la única parte requerida de la clase primaria a la clase secundaria usando varios modificadores de acceso PHP.
  • Totalmente compatible con MVC: podemos optar por MVC utilizando el concepto de herencia.

Conclusión

Deberíamos usar la herencia para cumplir con nuestro negocio, ya que presenta algunas ventajas adicionales en comparación con el código normal. Deberíamos cuidar la seguridad de los datos mientras tratamos con la herencia. Podemos usar el modificador de acceso como privado, protegido para lidiar con la ocultación de datos y la seguridad de los datos. PHP no admite múltiples herencias.

Artículos recomendados

Esta es una guía de herencia en PHP. Aquí discutimos los tipos de herencia en PHP, es decir, único, multinivel, jerárquico con el código de muestra apropiado. También puede consultar el siguiente artículo para obtener más información:

  1. Sesiones en PHP
  2. Compilador PHP
  3. Conexión de base de datos PHP
  4. Sobrecarga en PHP
  5. Sobrecarga de Python