Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Herencia -> Uncaught Error

Estas en el tema de Herencia -> Uncaught Error en el foro de PHP en Foros del Web. Cita: El motor está apagado Fatal error: Uncaught Error: Call to protected method Vehiculo::estado() from context '' in C:\xampp\htdocs\poo\6.php:44 Stack trace: #0 {main} thrown in ...
  #1 (permalink)  
Antiguo 22/12/2016, 09:17
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
Herencia -> Uncaught Error

Cita:
El motor está apagado

Fatal error: Uncaught Error: Call to protected method Vehiculo::estado() from context '' in C:\xampp\htdocs\poo\6.php:44 Stack trace: #0 {main} thrown in C:\xampp\htdocs\poo\6.php on line 44
Código PHP:
<?php
    
class Vehiculo{
        
#Atributos
        
public $motor=false,$marca,$color;

        
#Métodos
        
protected function estado(){#Si fuese privado no estaria accesible desde la class Moto y el método estadoMoto
            
echo 'El motor está '.($this->motor?'encendido':'apagado').'<br>';
            
/*if ($this->motor) {
                echo "El motor está encendido<br>";
            }else{
                echo "El motor está apagado<br>";
            }*/
        
}
        public function 
encender(){
            if (
$this->motor) {
                echo 
"Cuidado, el motor ya está encendido<br>";
            }else{
                echo 
"El motor ahora está encendido<br>";
                
$this->motor=true;
            }
        }
    }

    
#$vehiculo=new Vehiculo();
    #$vehiculo->estado();
    #$vehiculo->encender();
    #$vehiculo->estado();

    
class Moto extends Vehiculo{
        public function 
estadoMoto(){
            
$this->estado();
        }
    }


    class 
CuatriMoto extends Moto{

    }

    
$moto=new moto();
    
$moto->estadoMoto();
    
$moto=new CuatriMoto();
    
$moto->estado();
  #2 (permalink)  
Antiguo 22/12/2016, 09:19
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Herencia -> Uncaught Error

Ya se que era, resulta algo lioso

Cita:
public function estado(){#Si fuese privado no estaria accesible desde la class Moto y el método estadoMoto

Etiquetas: herencia
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:38.