Programación Web y Scripting > PHP

 Herencia En Php

(1/1)

wilcori:
Hola:

Intento usar OO para programar y el problema con el que me tope es la herencia:

Tengo mi clase que esta:


--- Código: Text ---  class soporte{  public $titulo;  protected $numero;  private $precio;    function __construct($tit, $num, $precio){    $this->titulo = $tit;    $this->numero = $num;    $this->precio = $precio;  }    public function dame_precio_sin_iva(){    return $this->precio;  }  public function dame_precio_con_iva(){    return $this->precio*1.16;  }  public function dame_numero_identificacion(){    return $this->numero;  }  public function imprime_caracteristicas(){    echo $this->titulo;    echo "<br>" . $this->precio . " (IVA no incluido)";  }}   
Y la clase que hereda es:


--- Código: Text --- class cinta_video extends soporte{  var $duracion;    function __constructor($tit,$num,$precio,$duracion){    parent::__constructor($tit,$num,$precio);    $this->duracion = $duracion;  }  public function imprime_caracteristicas(){    echo "<br>Película en VHS:<br>";    parent::imprime_caracteristicas();    echo "<br>Duración: " . $this->duracion;  }}  
instancio a la clase padre y heredada:


--- Código: Text --- $micinta = new cinta_video("Los Otros", 22, 4.5, "115 minutos");echo "<b>" . $micinta->titulo . "</b>";echo "<br>Precio sin IVA: " . $micinta->dame_precio_sin_iva() . " euros";echo "<br>Precio con IVA: " . $micinta->dame_precio_con_iva() . " euros";$micinta->imprime_caracteristicas();  
Debiera imprimirme así:

Los Otros
Precio sin IVA: 4.5 euros
Precio con IVA: 5.22 euros
Película en VHS:
Los Otros
4.5 (IVA no incluido)
Duración: 115 Minutos


Pero me imprime sin los datos de Duración:

Los Otros
Precio sin IVA: 4.5 euros
Precio con IVA: 5.22 euros
Película en VHS:
Los Otros
4.5 (IVA no incluido)
Duración:


alguien podría decirme donde se fue el dato de Duración.

Gracias por su ayuda

Navegación

[0] Índice de Mensajes

Ir a la versión completa