Título: Duda getters Publicado por: HastatusXXI en 15 Agosto 2016, 17:30 pm Hola.
Tengo una pequeña duda con un código de un libro que estoy leyendo de desarrollo de Android, pero el problema que tengo es simplemente de Java. El código es el siguiente: Código
Mi duda está en la diferencia entre el método getName() y el método toString(). Según lo que tenía entendido hasta ahora, el toString daría el nombre de un objeto Workout ya instanciado (por el this) ¿Alguien me puede aclarar esto? Título: Re: Duda getters Publicado por: engel lex en 15 Agosto 2016, 18:35 pm (si funciona como c)
name te dará como retorno el valor de una variable global llamada name... this.name te dará el valor de la variable name en esta clase... lo que no tenga "this" referenciará a globales, cualquier interno necesita el this para se llamado Título: Re: Duda getters Publicado por: + 1 Oculto(s) en 15 Agosto 2016, 18:48 pm si estas programando en POO entonces no deberas abusar de setter y getters
http://stackoverflow.com/questions/9416245/how-to-avoid-getters-and-setters Título: Re: Duda getters Publicado por: HastatusXXI en 15 Agosto 2016, 20:31 pm (si funciona como c) name te dará como retorno el valor de una variable global llamada name... this.name te dará el valor de la variable name en esta clase... lo que no tenga "this" referenciará a globales, cualquier interno necesita el this para se llamado Entiendo que al decir variable global name te refieres a una definida fuera de la clase. El caso es que el getter (sin this) devuelve el valor del atributo name del array de tipo Workout indicado, por ejemplo: println(workouts[0].getName()) imprimiría por pantalla "TheLimbLoosener". Cabe decir que en el libro se define el método toString() (con el this), pero, al menos de momento, no se ha usado. De todos modos, mi duda sigue siendo respecto al uso o no del this. Título: Re: Duda getters Publicado por: HastatusXXI en 15 Agosto 2016, 20:32 pm si estas programando en POO entonces no deberas abusar de setter y getters http://stackoverflow.com/questions/9416245/how-to-avoid-getters-and-setters Grosso modo según he visto más o menos es por tema de seguridad, ¿no? Pero no todo el mundo los desaconseja, por lo que veo, si no que hay que distinguir bien en qué situaciones hay que usar uno de los dos, ambos, o ninguno, no poner sistemáticamente setter y getter a todas las clases, ¿no? Título: Re: Duda getters Publicado por: + 1 Oculto(s) en 15 Agosto 2016, 21:45 pm :-X :-X :-X
por ahi lei pero no encuentro donde...... ;D ;D que los setters y getters contradicen a alguno de los principios de SOLID aca una lectura de solid...... ;-) ;-) https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design saludos ::) Título: Re: Duda getters Publicado por: Juanfernandez0032 en 17 Agosto 2016, 21:44 pm Hola, yo mas que respuestas tengo dudas ;D ;D ;D ;D
La siguiente linea no seria el constructor de la clase ??? private Workout(String name, String description) un constructor puede ser private ? Título: Re: Duda getters Publicado por: Juanfernandez0032 en 17 Agosto 2016, 21:53 pm Listo, no se gasten, si, pueden ser privados
http://www.lawebdelprogramador.com/foros/Java/1076310-contructores-privados-en-java.html :silbar: :silbar: :silbar: :silbar: :silbar: Título: Re: Duda getters Publicado por: HastatusXXI en 18 Agosto 2016, 16:52 pm :-X :-X :-X por ahi lei pero no encuentro donde...... ;D ;D que los setters y getters contradicen a alguno de los principios de SOLID aca una lectura de solid...... ;-) ;-) https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design saludos ::) Ni siquiera conocía SOLID. Nunca he programado en POO, solo aprendí un poco con Python y Java solo lo he trabajado en el paradigma imperativo. Me veo forzado a utilizar POO para aprender a desarrollar para Android. Gracias :D Título: Re: Duda getters Publicado por: + 1 Oculto(s) en 18 Agosto 2016, 23:04 pm hola acabo de leer tu mensaje, si entiendes solid de a poco estaras programando en POO, yo personalmente solo aplique S.O y D los otros 2 principios no les entendi muy bien, :P :P :P
Título: Re: Duda getters Publicado por: Chuidiang en 20 Agosto 2016, 16:39 pm Hola:
En tu pregunta original, no hay ninguna diferencia entre toString() y getName(), ambos devuelven el atributo name de la clase. En el ejemplo que pones, el this. es opcional, lo pongas o no, se referencia a name de la clase. Si hubiera otra variable name accesible a los métodos, entonces igual sí es necesario poner this para distiguiir cual quieres usar. Por ejemplo, en un setter, puedes poner Código: public class UnaClase { Hay dos name accesibles, el atributo de la clase y la varialble del parámetro. La variable del parámetro "oculta" a la de la clase, por lo que poner sólo name, referencia a la del parámetro. Si quieres usar el atributo de la clase, aquí sí es obligatorio usar this.name, porque si no, referenciarias al parámetro. No hay variables globales en java, así que name a secas no referencia a una variable global. Se bueno. |