Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Metodos: cuales ?

Estas en el tema de Metodos: cuales ? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, quisiera preguntar... si es mejor utilizar metodos diferentes para setear los distintos valores de un mismo atributo.. o bien... el mismo metodo y pasarle ...
  #1 (permalink)  
Antiguo 07/08/2009, 11:20
 
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 15 años, 5 meses
Puntos: 10
Busqueda Metodos: cuales ?

Hola, quisiera preguntar... si es mejor utilizar metodos diferentes para setear los distintos valores de un mismo atributo.. o bien... el mismo metodo y pasarle un parametro diferente:

setValign ('top');
setValign ('middle');
setValign ('bottom');

o bien...

setValignToTop(), setValignToMiddle() y... setValignToBottom()

A mi me parece que el segundo metodo esta mas auto-documentado porque no tengo porque saber los valores posibles (como se llaman)

No se que piensan... gracias
  #2 (permalink)  
Antiguo 07/08/2009, 17:37
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 20 años, 5 meses
Puntos: 102
Respuesta: Metodos: cuales ?

Cita:
Iniciado por bigwhite Ver Mensaje
A mi me parece que el segundo metodo esta mas auto-documentado porque no tengo porque saber los valores posibles (como se llaman)
Pero si es por la documentación, para eso está la documentación, ¿no?

Código PHP:
Ver original
  1. /**
  2.  * Establece el valor para valign
  3.  *
  4.  * @param $v string Posibles valores: top, middle, bottom
  5.  * @return void
  6.  */
  7. public function setValign($v)
  8. {
  9.     // ...
  10.     $this->_valign = $v;
  11. }

El método, entiendo, no hará más que establecer un valor a una propiedad del objeto, la misma propiedad, osea un setter y no más. Definitivamente simpatizo más por esta forma.

Mi muy humilde opinión.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 08/08/2009, 12:10
Avatar de Mort20  
Fecha de Ingreso: junio-2008
Ubicación: Roca Casterly
Mensajes: 141
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Metodos: cuales ?

Lo más correcto creo que es un método por atributo por simple definición. Un atributo suele ser privado, luego hacer un método para todos implica que esos atributos dejaran de ser en parte privados pues se necesitará conocer su nombre para pasarlo como parámetro.

Me explico, con un método para todo, se necesitan conocer unos detalles que muchas veces pueden ser innecesarios. Por poner un ejemplo, si queremos cambiar la base de una clase Rectángulo, podemos tener un método setBase() que se entiende que sólo cambia dicha base proporcionándole un real. De la otra forma tenemos que dar explícitamente un nombre (que puede ser el mismo que el atributo, perdiendo parte de su privacidad) concreto que es algo a elección personal. En cambio el hecho de que la base de un rectángulo sea un real (o un entero) es algo universal.

Por otro lado lo de que es más auto-documentado es un simple bonus, que creo que no debe ser el objetivo fundamental en este caso.

Y sólo para dar algo más de peso a la argumentación, decir que es lo que se enseña en las facultades de informática (por lo menos en las que yo conozco), y representa que esos profesores son profesionales en la materia (por lo menos en España).
__________________
Un Lannister siempre cumple sus promesas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:14.