• Domingo 22 de Diciembre de 2024, 14:56

Autor Tema:  Herencia En Php  (Leído 904 veces)

wilcori

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Herencia En Php
« en: Jueves 8 de Junio de 2006, 22:47 »
0
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
  1.  
  2.  
  3. class soporte{
  4.   public $titulo;
  5.   protected $numero;
  6.   private $precio;
  7.  
  8.   function __construct($tit, $num, $precio){
  9.     $this->titulo = $tit;
  10.     $this->numero = $num;
  11.     $this->precio = $precio;
  12.   }
  13.  
  14.   public function dame_precio_sin_iva(){
  15.     return $this->precio;
  16.   }
  17.   public function dame_precio_con_iva(){
  18.     return $this->precio*1.16;
  19.   }
  20.   public function dame_numero_identificacion(){
  21.     return $this->numero;
  22.   }
  23.   public function imprime_caracteristicas(){
  24.     echo $this->titulo;
  25.     echo "<br>" . $this->precio . " (IVA no incluido)";
  26.   }
  27. }
  28.  
  29.  
  30.  

Y la clase que hereda es:

Código: Text
  1.  
  2. class cinta_video extends soporte{
  3.   var $duracion;
  4.  
  5.   function __constructor($tit,$num,$precio,$duracion){
  6.     parent::__constructor($tit,$num,$precio);
  7.     $this->duracion = $duracion;
  8.   }
  9.   public function imprime_caracteristicas(){
  10.     echo "<br>Película en VHS:<br>";
  11.     parent::imprime_caracteristicas();
  12.     echo "<br>Duración: " . $this->duracion;
  13.   }
  14. }
  15.  
  16.  

instancio a la clase padre y heredada:

Código: Text
  1.  
  2. $micinta = new cinta_video("Los Otros", 22, 4.5, "115 minutos");
  3. echo "<b>" . $micinta->titulo . "</b>";
  4. echo "<br>Precio sin IVA: " . $micinta->dame_precio_sin_iva() . " euros";
  5. echo "<br>Precio con IVA: " . $micinta->dame_precio_con_iva() . " euros";
  6. $micinta->imprime_caracteristicas();
  7.  
  8.  

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