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

Título: Ejemplo herencia PHP definir clase constructor function __construct() y métodos
Publicado 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.

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
Título: Re:PHP P.O.O herencias
Publicado por: Mastermind 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!!
Título: Re:Ejemplo herencia PHP definir clase constructor function __construct() y métodos
Publicado por: jimmorrison en 26 de Mayo 2015, 19:41
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.