Autor Tema: Ejemplo herencia PHP definir clase constructor function __construct() y métodos  (Leído 6312 veces)

jimmorrison

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 51
  • la programacion es vida
    • Ver Perfil
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.

Código: [Seleccionar]
<?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
« Última modificación: 26 de Mayo 2015, 10:47 por Ogramar »

Mastermind

  • Experto
  • *****
  • Mensajes: 536
    • Ver Perfil
Re:PHP P.O.O herencias
« Respuesta #1 en: 26 de Mayo 2015, 08:13 »
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!!

jimmorrison

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 51
  • la programacion es vida
    • Ver Perfil
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.


 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".