Tengo un problemita con el uso de los atributos de las clases. Lo que estoy tratando de hacer es, a partir de una clase padre crear una clase hijo que mantenga los valores publicos y protegidos del padre.
Intentare hacer un ejemplo de lo que quiero hacer para que un master en programación me pueda ayudar :D
su pongamos que tenemos la classe padre.
Código PHP:
class Padre{
protected $Sueldo;
public function __construct($id)
{
$this->Sueldo = getSueldoFromUnaBaseDeDatosByID($id);
}
public function comprarPan($valorPan)
{
$this->Sueldo-=$valorPan;
}
}
class Hijo extends Padre{
public $Mesada;
public function __construc(){
//Aqui no se si tengo que setar de alguna forma los valores del padre.
$this->Mesada = $this->Sueldo * 0.1; // No se si esto esta bien. En teoria si pq herada el atributo.
}
}
Código PHP:
$padre = new Padre(1); //el valor del suelo es 100.
//Si el atributo fuera publico lo pdoria imprimir como
echo $padre->Sueldo; //100
// supongamos que tenemos otros metodos o funciones o lo que sea que operan
// con nuestro atributo Sueldo.
$padre->comprarPan($valorPan);
//el valor del pan es de 10 por lo que que ese metodo lo unico que hace es
// reajustar el sueldo del padre que ahora es 90.
//Aquí es donde aparece el hijo y no se como crearlo,
$hijo = new Hijo();
// Quiero que ademas de heredar los atributos del padre como su sueldo,
// herede el valor que tiene sueldo de ese padre, sin tener que, quiza, setearlo
// nuevamente dentro del hijo.
// Entonces de alguna forma lo que quiero logra es, que al acceder a mi clase
// hijo tenga el "VALOR" del padre, osea
echo $hijo->Mesada; //Este valor deberia ser 9.
Estare atento a sus comentarios.
Muchas Gracias.