Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/02/2013, 15:46
Avatar de andres_15_
andres_15_
 
Fecha de Ingreso: septiembre-2008
Ubicación: Cali
Mensajes: 232
Antigüedad: 16 años, 3 meses
Puntos: 7
POO clases,subclases,polimorfismo y herencia

Estoy practicando con php, y tengo este ejemplo:

Código PHP:
<?php

class canimal{   

    function 
canimal($patas){ //Esto es una funcion constructora, se llama igual que la clase

        
$this->patas=$patas//esta diciendo que cuando llamemos patas se va a guardar en $patas
    
}

    
//var $ojos=2; //Una variable $ojos que tiene un valor de 2

    /*function patas(){ //La funcion Patas SIN  parametros
        return "Este animal tiene ".$this->patas. //el THIS llama o busca la la instanciacion que contiene patas
        " patas y ademas tiene ".$this->ojos." ojos <br>"; //devuelve este String
    }*/
    
function sonido(){
        echo 
"Este animal hace guau <br>";
    }

}

    class 
cperro extends canimal{} 
    
//Sub-clase de canimal HEREDA 
    
class cgato extends canimal{
        function 
sonido(){
            echo 
"En realidad hace miau ";
        }
    }
    
    
$fido=new cperro(); //se instancian las subclases
    
$mish=new cgato();

    echo 
$fido->sonido();
    echo 
$mish->sonido();

    
//$perro = new canimal(5); //se instancia una nueva variable en la clase Canimal
    //$gato = new canimal(8);
    //$gato->patas=3; //se dice que a la nueva instnacia se le agrega que patas vale 4
    //$perro->patas=4;
    //echo $gato->patas(); //se imprime la variable $gato y se llama la funcion sin parametros, ya que fueron asignados previamente
    //echo $perro->patas();



?>
cuando miro me sale este error:


Código:
Warning: Missing argument 1 for canimal::canimal(), called in C:\xampp\htdocs\POO\obejto.php on line 30 and defined in C:\xampp\htdocs\POO\obejto.php on line 5

Notice: Undefined variable: patas in C:\xampp\htdocs\POO\obejto.php on line 7

Warning: Missing argument 1 for canimal::canimal(), called in C:\xampp\htdocs\POO\obejto.php on line 31 and defined in C:\xampp\htdocs\POO\obejto.php on line 5

Notice: Undefined variable: patas in C:\xampp\htdocs\POO\obejto.php on line 7
Este animal hace guau
En realidad hace miau
Pero de todas maneras me imprime el resultado. Ya se me que me diran que es porque estoy definiendo $patas y que se encuentra como un comentario,ya lo se, pero porque en el vídeo que estoy viendo no le salen esos mensajes a el y a mi si, si tengo exactamente el mismo código.