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();
?>
Código:
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. 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