Aqui hay una clase abstracta y lo demas se entiende (la funcionalidad de los metodos es lo que menos importa)
Código PHP:
abstract class Vehiculo
{
public $potencia;
public $peso;
function __construct($potencia,$peso)
{
$this->potencia = $potencia;
$this->peso = $peso;
return true;
}
function relacionPesoPotencia()
{
if ($this->potencia>0)
{
return ($this->peso/$this->potencia);
}
return -1; //aqui una duda extra, por que "-1" y no "0" ??.. no es lo mismo?
}
abstract function aceleracionAproximada();
}
Código PHP:
class Moto extends Vehiculo
{
function __construct($potencia,$peso)
{
$this->potencia = $potencia;
$this->peso = $peso;
return true;
}
function aceleracionAproximada()
{
$coeficienteTransmision = 3.0;
$t = $this->peso * 771.73 / (2.0 * $this->potencia * 735);
$t = $t * $coeficienteTransmision;
return $t;
}
}
¿Porque la clase Moto hace un "$this->potencia" y "$this->peso" si nunca inicio ese atributo??.. osea nunca hizo un
public $potencia;
public $peso;
Entonces pense
, debe ser un atributo que heredo de la clase abstracta "Vehiculo" .. entonces si es asi por que no usa parent::$potencia
parent::$peso
esa duda me tiene confundido.. alguien podria explicarme?? esto es lo que veo en las clases de un cms que estoy analizando..y aprovechando la oportunidad.. siempre veo que hacen un return -1 no seria lo mismo y mejor hacer return 0 ??
PD: ese ejemplo lo saque de aqui http://www.epsilon-eridani.com/cubic/ap/cubic.php/pag/PHP5---Clases-abstractas-72.html

ese detalle no lo habia leido en ningun concepto de clases abstractas, a veces a los libros les falta explicar cositas como esas pero fundamentales
pero ahora ya me quedo todo claro, muchas gracias y ya pueden cerrar el tema 


