Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/12/2016, 09:17
quico5
 
Fecha de Ingreso: enero-2008
Mensajes: 581
Antigüedad: 17 años
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();