Esta web utiliza cookies para obtener datos estadísticos de la navegación de sus usuarios.
Política de privacidad y Aviso legal
Sobreescritura del constructor
Cuando creamos un objeto de una clase el primer método que se
ejecuta es el constructor. Si la clase no tiene constructor pero la
superclase si lo tiene, el que se ejecuta es el constructor de la clase
padre:
<html>
<head>
<title>Pruebas</title>
</head>
<body>
<?php
class Operacion {
protected $valor1;
protected $valor2;
protected $resultado;
public function __construct($v1,$v2)
{
$this->valor1=$v1;
$this->valor2=$v2;
}
public function imprimirResultado()
{
echo $this->resultado.`<br>`;
}
}
class Suma extends Operacion{
public function operar()
{
$this->resultado=$this->valor1+$this->valor2;
}
}
$suma=new Suma(10,10);
$suma->operar();
$suma->imprimirResultado();
?>
</body>
</html>
La clase Suma no tiene constructor pero cuando creamos un objeto
de dicha clase le pasamos dos datos:
$suma=new Suma(10,10);
Esto es así ya que la clase padre si tiene constructor:
public function __construct($v1,$v2)
{
$this->valor1=$v1;
$this->valor2=$v2;
}
Ahora veremos un problema que la subclase también tenga constructor,
es decir sobreescribimos el constructor de la clase padre.
Lun | Mar | Mie | Jue | Vie | Sab | Dom |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |