<?php
abstract class Vehiculo 
    {
        // Declaración de los atributos 
		private $color;
		private $peso;
	
		//constructor
		public function __construct($color, $peso) // Constructor pide 2 argumentos.
		{
            $this->color = $color; // Inicialización del color.
            $this->peso = $peso; // Inicialización del peso.
		}
		
		//accesorios
		public function getColor()
		{
            return $this->color; //devuelve el color 
		}
		public function setColor($color)
		{
			$this->color = $color; //escribe en el atributo color
		}
		
		public function getPeso()
		{
            return $this->peso; //devuelve el peso 
		}
		public function setPeso($peso)
		{
			$this->peso = $peso; //escribe en el atributo peso
		}
	
		//métodos públicos				
		public function circular()
		{
			echo "El vehículo circula.<br />";
		}
		
		public static function mostrar_atributo($objet) {s
			if(method_exists($objet,'getColor')) {
				echo "El color es:".$objet->getColor()."<br />";
			}
			if(method_exists($objet,'getPeso')) {
				echo "El peso es:".$objet->getPeso()."<br />";
			}
			if(method_exists($objet,'getCilindrada')) {
				echo "La cilindrada es:".$objet->getCilindrada()."<br />";
			}
			if(method_exists($objet,'getNumeroPuerta')) {
				echo "El número de puertas es:";
                        echo $objet->getNumeroPuerta()."<br />";
			}	
			if(method_exists($objet,'getLongitud')) {
				echo "La longitud es:".$objet->getLongitud();
                        echo "<br />";
			}
			if(method_exists($objet,'getNumeroCadenaNieve')) {
				echo "El nombre de cadenas de nieve es:";
                        echo $objet->getNumeroCadenaNieve()."<br />";
			}	
		}
          
        abstract public function añadir_persona($peso_persona);
		
}

?>
