me puede alguen explicar
Me puede alguein explicar,porque si en una clase hacemos todos las propiedades privadas hay que hacer un metodo set y get con el nombre de cada propiedad
Hola:
Las propiedades suelen hacerse privadas. El set y get solo se hace si se necesitan.
¿Por qué?. Hay dos posibles motivos
El primero es que la clase tenga control de como cambia su propiedad. Si el set() y get() unicamente cambian o devuelven la propiedad, se podría hacer pública y evitar el set() y get(). Sin embargo, en muchas ocasiones, el set() y get() además de cambiar la propiedad hacen cosas, como comprobar que el nuevo valor de la propiedad está dentro de un rango, fijar otras propiedades, echar alguna cuenta, etc.
El segundo motivo es para retocar menos codigo ante cambios. Si más adelante en tu proyecto decides cambiar el nombre de la propiedad o su tipo por otro, puedes mantener el set() y get() igual, pero con codigo distinto. El resto de codigo no se ve afectado por ese cambio. Por ejemplo, si una propiedad en un Date y set() y get() admiten y devuelven Date, puedes más adelante cambiar Date por TimeStamp, pero hacer que set() y get() sigan admitiendo Date. Ellos harían la conversión a TimeStamp. De esta forma el resto del código no tiene que ser modificado. Otro ejemplo, imagina que decides que cada vez que se hace set() de la propiedad debes guardarla en base de datos. Si la hubieras hecho publica y todo el mundo la tocara directamente, tendrías que revisar todo el código buscando dónde se cambia esa propiedad para hacer el cambio en base de datos. Si lo haces a través de set(), sólo tienes que meter el código de base de datos dentro del set() y nadie se ve afectado.
En fin, son buenas prácticas de programación y como todas las buenas prácticas, están pensadas para facilitar los cambios y mantenimiento del código. No son estrictamente necesarias, pero sí aconsejables si tu código se va a modificar más adelante, reutilizar, etc.
En http://chuidiang.blogspot.com/2005/11/las-buenas-prcticas-de-programacin.html tienes una pequeña tontería que quizas te ayude a aclarar un poco más las ideas.
Se bueno.
Las propiedades suelen hacerse privadas. El set y get solo se hace si se necesitan.
¿Por qué?. Hay dos posibles motivos
El primero es que la clase tenga control de como cambia su propiedad. Si el set() y get() unicamente cambian o devuelven la propiedad, se podría hacer pública y evitar el set() y get(). Sin embargo, en muchas ocasiones, el set() y get() además de cambiar la propiedad hacen cosas, como comprobar que el nuevo valor de la propiedad está dentro de un rango, fijar otras propiedades, echar alguna cuenta, etc.
El segundo motivo es para retocar menos codigo ante cambios. Si más adelante en tu proyecto decides cambiar el nombre de la propiedad o su tipo por otro, puedes mantener el set() y get() igual, pero con codigo distinto. El resto de codigo no se ve afectado por ese cambio. Por ejemplo, si una propiedad en un Date y set() y get() admiten y devuelven Date, puedes más adelante cambiar Date por TimeStamp, pero hacer que set() y get() sigan admitiendo Date. Ellos harían la conversión a TimeStamp. De esta forma el resto del código no tiene que ser modificado. Otro ejemplo, imagina que decides que cada vez que se hace set() de la propiedad debes guardarla en base de datos. Si la hubieras hecho publica y todo el mundo la tocara directamente, tendrías que revisar todo el código buscando dónde se cambia esa propiedad para hacer el cambio en base de datos. Si lo haces a través de set(), sólo tienes que meter el código de base de datos dentro del set() y nadie se ve afectado.
En fin, son buenas prácticas de programación y como todas las buenas prácticas, están pensadas para facilitar los cambios y mantenimiento del código. No son estrictamente necesarias, pero sí aconsejables si tu código se va a modificar más adelante, reutilizar, etc.
En http://chuidiang.blogspot.com/2005/11/las-buenas-prcticas-de-programacin.html tienes una pequeña tontería que quizas te ayude a aclarar un poco más las ideas.
Se bueno.