Hola a todos como les va?
Estoy feliz por una parte por que por fin llegue a pasar lo que consideraba un gran obstaculo hacia PHP con POO, y al fin ya entiendo de forma incipiente como funciona la POO.
Y por otra, un poco desorientado por que son mis priemeros pasos con esta tecnica de programacion. Es por eso que recurro a este foro, que me parece uno de los mas serios y de los que mejor entiende y ayuda a los usuarios, para que me digan su opinion acerca de la primer clase que he escrito, en ella he creado una clase llamada amigos (Class amigos)con un metodo para ingresarles un nombre y edad. Y luego le extendi una clase hija (Class apodo) con otro metodo para agregarle un dato mas a los ingresados en la clase amigos.
Luego de haber creado estas clases e ingresado primero a un solo amigo en la clase madre.
Despues utilizado la clase hija para agregarle a mis amigos un dato mas (no se si es valido decir "propiedad"?), y he aprovechado la Herencia para ademas ingresar nuevos datos.
Mi duda es:
- Esta bien haber usado un bucle for para ingresar los datos (se dice propiedades?), o esta mal que haya metido dentro de un bucle esas instrucciones que implican clases?
Aca les pongo el codigo para que entiendan mejor:
Nota me he valido de ponerle a mi funcion el nombre de la clase para que asi este funcione como constructor, ya que estoy practicando con PHP 4.3.
<?php
//clase base "amigos"
class amigos{
var $amigo;
var $edad;
function amigos($amigo, $edad){
$this -> amigo=$amigo;
$this -> edad=$edad;
}
function mues_nom(){
return $this->amigo;
}
function mues_eda(){
return $this->edad;
}
}
//Eztension de la clase base para añadir un apodo
//clase extendida "apodo"
class apodo extends amigos{
var $apodo;
function apodo($apodo){
$this->apodo=$apodo;
}
function mues_apo(){
return $this->apodo;
}
}
//instanciando solo para la clase "amigos"
$amigo=new amigos("Sebastian", 27);
echo "mi primer amigo es: ". $amigo->mues_nom()."<br>y su edad es: ". $amigo->mues_eda()."<hr>";
//array para ingresar datos
$amis= array ("Gerson","Juanjo","Ruben","Rene");
$edas= array (24,23,25,19);
$apds= array ("balroc","pajarito","robincha","chaterman");
//ingresando y mostrando datos de ambas clases
if(count($amis) === count($edas) && count($amis) === count($apds))
{
$i=count($amis);
for($x=0;$x<$i;$x++){
$amigo=new apodo($apds[$x]);
$amigo->amigos($amis[$x], $edas[$x]);
echo "<p>Nombre: ".$amigo->mues_nom()."<br>";
echo "Edad: ".$amigo->mues_eda()."<br>";
echo "Apodo: ".$amigo->mues_apo()."</p>";
}
}
else{
echo "No , algo esta mal";
exit();
}
?>
Desde ya muchas gracias y espero no haber incomodado a alguien con esta duda.