Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: jimmorrison en 25 de Mayo 2015, 09:04
-
Saludos maestros voy en el tuto de envio de formulariosen php en www.aprenderaprogramar.com apenas estoy aprendiendo sobre POO con herencias en php
Me encargó mi profesor terminar esta tarea podrian apoyarme con este codigo por favor
Ya lo repasé varias veces y busque errores pero no me marca nada de error.
<?php
class Automovil{
// private solo se puede acceder desde la misma clase
// protected siguen siendo privados pero puedens er heredaros
protected $color;
protected $velocidad;
protected $motor;
public function Arrancar($a,$b){
$this->velocidad =$a;
$this->motor =$b;
echo 'arranca ala velocidad de ', $this->velocidad,' ya que su motor es de',$this->motor;
}
public function color_carro($color){
$this-> color =$color;
echo 'y tiene un color',$this->color;
}
public function frenar(){
echo 'y ahora has frenado';
}
}
class Moto extends Automovil{
private $ruedas;
public function __construt($ruedas_cantidad,$velocidad,$cilindros,$color){
$this->ruedas = $ruedas_cantidad;
$this->velocidad = $velocidad;
$this->motor = $cilindros;
$this->color = $color;
}
public function Color(){
return $this->color;
}
public function Todo(){
echo 'esta es la nueva velocidad ',$this->velocidad,'este es el nuevo motor',
$this->motor,' cantidad de ruedas ',$this->ruedas;
}
}
echo '<h1> Moto</h1>';
$moto = new Moto(2,'120 k/h','6 cilindros','azul');
echo $moto->Color(),'<br/>';
$moto->Todo();
/* $moto->ruedas(2); no imprime sin echo
echo 'la moto tiene ',$moto->ruedas(2),' ruedas<br>';
$moto->arrancar('160 km/h', '12 cilindros');
$moto->color('azul');
$moto->frenar();*/
echo '<h1> ferrari</h1>';
$ferrari = new Automovil();// crear una instancia
$ferrari->Arrancar('200 kilometors/h' , '12 cilindros');
$ferrari->color_carro('rojo');
$ferrari->frenar();
echo '<br>';
echo '<h1> poche</h1>';
$porche = new Automovil();
$porche->Arrancar('160 kilometors/h' , '10 cilindros');
$porche->color_carro('negro');
$porche->frenar();
echo '<br>';
?>
solo me aparece esto y no me aparecen las propiedades de la clase moto cuando las mando a llamar.
Moto
esta es la nueva velocidad este es el nuevo motor cantidad de ruedas
ferrari
arranca ala velocidad de 200 kilometors/h ya que su motor es de12 cilindrosy tiene un colorrojoy ahora has frenado
poche
arranca ala velocidad de 160 kilometors/h ya que su motor es de10 cilindrosy tiene un colornegroy ahora has frenado
-
Hola intentalo como
public function Moto($ruedas_cantidad,$velocidad,$cilindros,$color){
$this->ruedas = $ruedas_cantidad;
$this->velocidad = $velocidad;
$this->motor = $cilindros;
$this->color = $color;
}
En lugar de
public function __construt($ruedas_cantidad,$velocidad,$cilindros,$color){
$this->ruedas = $ruedas_cantidad;
$this->velocidad = $velocidad;
$this->motor = $cilindros;
$this->color = $color;
}
O también intentalo como function __construct() en lugar de function __construt
Saludos!!
-
si Mastermind lo pille ayer no sabia que el constructor en php tiene su palabra reservada en java no pasa eso.
te lo agradesco mucho.