Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/12/2015, 14:38
fbadiola
 
Fecha de Ingreso: octubre-2015
Ubicación: España
Mensajes: 21
Antigüedad: 9 años, 4 meses
Puntos: 6
Respuesta: Herencia. Convertir un objeto en otro objeto que hereda del primero???

Hola,

Eso no es posible... deberías hacer un recast del objeto, llamarlo desde un principio como Cliente o Admon con un condicional, o de la forma siguiente:

Código PHP:
<?php

    
class Usuario {
        private 
$name;
        private 
$email;
        private 
$pwd;
        function 
__construct($name,$email,$pwd) {
            
$this->name $name;
            
$this->email $email;
            
$this->pwd $pwd;
        }
        function 
getName() {
            return 
$this->name;
        }
        function 
getEmail() {
            return 
$this->email;
        }
        public function 
getCliente() {
            return new 
Cliente($this->name,$this->email,$this->pwd);
        }
        public function 
getAdmon() {
            return new 
Admon($this->name,$this->email,$this->pwd);
        }
    }

    class 
Cliente extends Usuario {
        private 
$cart;
        public function 
setCart($array) {
            
$this->cart $array;
        }
        public function 
getCart() {
            return 
$this->cart;
        }
    }
    class 
Admon extends Usuario {
        private 
$permisson;
        public function 
setPermisson($permisson) {
            
$this->permisson $permisson;
        }
        public function 
getPermisson() {
            return 
$permisson;
        }
    }

    
$usuario = new Usuario("Pepito","[email protected]",sha1("contraseña de ejemplo"));
    
var_dump($usuario);
    
$cliente $usuario->getCliente();
    
var_dump($cliente);    
    
$admon $usuario->getAdmon();
    
var_dump($admon);

?>
Así llamas primero al usuario y si tienes un método que verifique si es usuario o administrador puedes retornar directamente $admon o $cliente al llamar a usuario...

Espero que te haya ayudado!