Una caracteristica importante de la Programacion Orientada a Objeto (POO) es la herencia, en php se puede heredar una solo class padre o super class, sin embargo esta super class puede tener multiple class hijas, para poder agregar una class hija llamando a una class padre se utiliza la funcion
lo que hace la herencia es dar la posibilidad de utilizar los atributos y metodos de la class padre a la class hijo, la idea es que la class padre contenga todos los metodos y atributos generales de lo respectivo a la class es decir que si creamos la class persona, esta puede tener atributos como id, nombre y apellido, pero podemos crear una class hija llamada empleado la cual contenga el cargo, el codigo de seguridad y algun otro factor propio del empleado, tambien podemos crear una class cliente la cual contenga datos del cliente propios de este como serian nº de cuenta, password u otro.
como pueden ver en ese ejemplo una class padre puede tener varias class hija, pero una class hija solo puede tener una class padre, almenos esta es una regla en php, en otros lenguajes se pueden tener varias class padre.
acontinuacion les mostrare un ejemplo para utilizar la herencia para una empresa utilizando una class padre y una class hija.
class padre: class_persona.php
class hija: class_empleado.php
archivo de muestra: index.php
como pueden ver en este ejemplo usamos un solo constructor, la mayoria pensaria en usar un constructor en cada class pero debido a que en la class persona tiene un constructor y que la class hija adquiere todos los atributos de la class padre la class hija ya tiene un constructor y si se le colocara otro daria un error, cualquier consuta sobre herencia me la dejan aqui
Código:
extends
lo que hace la herencia es dar la posibilidad de utilizar los atributos y metodos de la class padre a la class hijo, la idea es que la class padre contenga todos los metodos y atributos generales de lo respectivo a la class es decir que si creamos la class persona, esta puede tener atributos como id, nombre y apellido, pero podemos crear una class hija llamada empleado la cual contenga el cargo, el codigo de seguridad y algun otro factor propio del empleado, tambien podemos crear una class cliente la cual contenga datos del cliente propios de este como serian nº de cuenta, password u otro.
como pueden ver en ese ejemplo una class padre puede tener varias class hija, pero una class hija solo puede tener una class padre, almenos esta es una regla en php, en otros lenguajes se pueden tener varias class padre.
acontinuacion les mostrare un ejemplo para utilizar la herencia para una empresa utilizando una class padre y una class hija.
class padre: class_persona.php
Código:
<?
class persona{
protected $id;
protected $nombre;
public function __construct($nom){
$this->nombre=$nom;
}
public function id($id1){
$this->id=$id1;
}
}
?>
class hija: class_empleado.php
Código:
<?
class empleado extends persona{
protected $cargo;
public function cargo($cargo1){
$this->cargo=$cargo1;
}
public function graficar(){
echo "El id es: ".$this->id." y el cargo es: ".$this->cargo.", el nombre es ".$this->nombre;
}
}
?>
archivo de muestra: index.php
Código:
<?
require_once "class/class_persona.php";
require_once "class/class_empleado.php";
$empleado= new empleado($_GET["nombre"]);
$empleado->id($_GET["id"]);
$empleado->cargo($_GET["cargo"]);
$empleado->graficar();
echo '<a href="index.php?id=1&cargo=webmaster&nombre=portanet">Ejemplo</a>';
?>
como pueden ver en este ejemplo usamos un solo constructor, la mayoria pensaria en usar un constructor en cada class pero debido a que en la class persona tiene un constructor y que la class hija adquiere todos los atributos de la class padre la class hija ya tiene un constructor y si se le colocara otro daria un error, cualquier consuta sobre herencia me la dejan aqui