Ver Mensaje Individual
  #11 (permalink)  
Antiguo 30/11/2008, 12:54
Avatar de Acron_0248
Acron_0248
 
Fecha de Ingreso: junio-2005
Ubicación: 127.0.0.1
Mensajes: 1.648
Antigüedad: 18 años, 10 meses
Puntos: 18
Respuesta: Mi primer objeto - critiquen!!!

Cita:
Iniciado por Italico76 Ver Mensaje
Muy complejo para mi je je / te agradezco un monton todo el tiempo que le me haz dedicado
Neh, te aseguro que es una ilusión óptica ;)


Con respecto a la clase, algunas cosillas si me lo permites:

- La clase link no es abstracta por lo que no debería ser definida como tal, y la razón es que ninguno de los métodos en la clase carece de implementación, como tal vez te llegaste a confundir con alguna cosa, lo explico con ejemplos:

Esto es un método con implementación:
Código PHP:
function add_title($title){
   
$this->title="title='$title'";
 } 
En el método se ve "lo que se hace" con el parámetro pasado.

Esto es un método abstracto:
Código PHP:
abstract function add_title($title); 
Acá sólo se ve que existe un método llamado add_title y que debe recibir un parámetro, pero en ningún momento se aprecia qué es lo que se hace con ese parámetro, por ello se considera y define como abstracto.

- El "self::" deberías usarlo cuando estés haciendo referencias a constantes o propiedades y métodos estáticos. No es que no puedas llamar a cualquier cosa self::metodo o self::propiedad o incluso clase::metodo, simplemente digamos que se ha tomado como una práctica (para evitar confusiones) el utilizar el operador de resolución de scope solo cuando se hace referencia a constantes y propiedades/métodos estáticos.

Aclaro, no está mal lo que hiciste, solo lo apunto =)

- El método show() de la clase link no necesita reasignar propiedades como te dije antes, simplemente con esto bastaría:
Código PHP:
 function show(){ 
   return 
"<a href='$this->url'  $this->title >$this->anchor </a>";
 } 

- Ya que no veo validación alguna en las clases, recuerda hacerlas en alguna otra parte de forma tal que los parámetros que lleguen a utilizarce en las clases ya estén validados.
__________________
Usuario Reigistrado de linux #399288