Cita:
Iniciado por Sanva Te entiendo perfectamente... pero no acabo de encontrar un argumento válido para no usar los getters/setters, más que el púramente dogmático. Y oye, con los dogmatismos no-argumentados no me llevo nada bien, de ahí mis dudas —dudaba de si era algo puramente dogmático o había alguna razón que a mí se me escapaba.
¿"Un argumento válido"? ¿"dogmatismos no-argumentados""? No te bases en una sola opinión, esta discusión es de los orígenes de la POO y no de un solo autor.
Si razonas un poco te darás cuenta que usar getter/setter, en el peor de los casos, es lo mismo que usar "atributos públicos" (Si usas set o get, ya tienes el 50% de un atributo público) y esto rompe una de las bases de la POO (fuente
wikipedia):
"Principio de ocultación: Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas, solamente los propios métodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no pueden cambiar el estado interno de un objeto de maneras inesperadas, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstracción. La aplicación entera se reduce a un agregado o rompecabezas de objetos."