2008/4/24 Pablo Martín Viva <[EMAIL PROTECTED]>: > Yo se que en ese momento estaba teniendo un error, en mi codigo C++, y de > hecho no era un tema de compración era un tema de asignación, hacia algo asi > > unsigned int variable = objeto.row - 1; > > cuando objeto.row era 0, todo eso me evaluaba a -1 y asignado a una variable > unsigned int se transformaba a 2 a la 31 o algo similar, el tema a tratar no > es ese y no lo veo encontra que un lenguaje tenga tipos signed y unsigned e > smas me parece bien, pero como te dije anteriormente hay que saberlos usar > sino es lo mismo que nada y se hacenval mas cagadas... > > A lo que voy es que si vos queres que al querer setear un valor negativo en > un atributo que necesites que sea positivo le de un valor por efault, eso si > no tenes un setter no lo podes hacer de forma repetitiva.... En C++ tendrias > que hacer algo asi en todos los casos: > > (valor < 0)?atributo = 0:atributo = valor; Y estarias repitiendo codigo > constantemente, queres cambiar el valor por defecto que toma la variable en > un caso asi y estarias buscando por cada asignación de ese tipo en cada > clase y metodo para cambiar el valor que le asigna cuando solo tendrias que > modificar un setter, sea privado protegido o publico, depende de la > visibilidad que le quieras dar, pero es un setter al fin.
al margen que esto que decis sea un mero ejemplo, esta mal, si vas a usar un setter para que cuando ponga un valor invalido te ponga un valor por default, creo que en la mayoria de los casos eso es un gran problema, en principio, no tendria porque llegar ese valor invalido al setter, si llega el error estaba antes. Y al margen del mal ejemplo que usas, lo mismo se puede hacer con una property o como se llame en los lenguajes la forma de encapsular un atributo para que se acceda mediante mentodos. -- Lautaro _______________________________________________ Lista de correo Programacion. [email protected] http://listas.fi.uba.ar/mailman/listinfo/programacion
