Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/06/2009, 18:38
RobinHead
 
Fecha de Ingreso: junio-2009
Mensajes: 9
Antigüedad: 14 años, 10 meses
Puntos: 0
Pregunta Uso de herencias

Hola,

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.
}


Supongamos que tenemos una funcion metodo o lo que sea que va a la BD en busca del valor del sueldo de padre. luego hago cualquier acción con el objeto padre por lo que mi sueldo va a ir cambiando.

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. 
Espero haber sido claro en el ejemplo y explicación de mi problema.

Estare atento a sus comentarios.

Muchas Gracias.

Última edición por RobinHead; 12/06/2009 a las 10:27