Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Getter y Setter | Clases Avanzadas
Java Avanzado
course content

Contenido del Curso

Java Avanzado

Java Avanzado

1. Estructura Profunda de Java
2. Métodos
3. String Avanzado
4. Clases
5. Clases Avanzadas

book
Getter y Setter

La mejor manera de evitar el modificador de acceso private

Todos los programadores de Java utilizan construcciones llamadas getters y setters.

Los getters y setters son métodos que siguen un patrón específico. Se utilizan para evitar el modificador de acceso private y manipular eficazmente los campos desde otra clase.

¿Qué hacen los getters y setters?

En términos simples, el setter nos permite asignar un valor a un campo específico protegido por el modificador de acceso private, mientras que el getter nos permite recuperar el valor de un campo protegido por el modificador de acceso private.

La sintaxis para un getter y un setter:

Main.java

Main.java

copy
123456789
// getter public fieldType getFieldName() { return field; } // setter public void setFieldName(fieldType field) { this.field = field; }

Como se puede observar en el código anterior, utilizamos la convención de nombres para los métodos getFieldName() y setFieldName(). Por lo tanto, si tenemos un campo private String name y creamos un getter y un setter con los nombres getName() y setName(), respectivamente. También es importante señalar que el getter devuelve un valor del mismo tipo que el campo name, mientras que el setter recibe un parámetro del mismo tipo que el campo name.

Esto nos permite acceder a campos que están protegidos por el modificador de acceso private. Veamos un ejemplo de cómo acceder a un campo privado de la clase Person en la clase main:

Main.java

Main.java

copy
123456789101112131415161718192021
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); System.out.println(bob.getName()); } } class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }

Como puedes observar, utilizamos el setter para asignar un valor al campo name, y luego usamos el getter para mostrar el valor del campo name en pantalla. Presta atención a la sintaxis del getter y setter, así como al hecho de que el campo name en la clase Person está protegido por el modificador de acceso private.

Constructor vs Getter/Setter

¿Cuál es mejor utilizar, la inicialización mediante un constructor + la sobrescritura del método toString(), o el uso de getters y setters?

Definitivamente es preferible utilizar getters y setters para acceder a los campos protegidos por el modificador de acceso private. Esto proporciona mayor flexibilidad en el código y mejora su legibilidad. Cuando se observa el uso del método getName() en el código, se entiende de inmediato que este método recupera el campo llamado name. Lo mismo ocurre al ver el uso del método setName(), se comprende de inmediato que se está asignando un valor específico al campo para el objeto de la clase en la que se utiliza. Si otras personas leen tu código, agradecerán ver getters y setters.

También es importante señalar que cada campo requiere su propio getter y setter. Si una clase tiene dos campos protegidos por el modificador de acceso private, la clase debe tener un getter para cada campo, es decir, dos getters y dos setters. Veamos un ejemplo donde añadimos un campo age a la clase Person:

Main.java

Main.java

copy
12345678910111213141516171819202122232425262728293031
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); bob.setAge(27); System.out.println("Person's name: " + bob.getName() + ", Person's age: " + bob.getAge()); } } class Person { private String name; private int age; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } }

Como puedes observar, hemos creado un getter y un setter para cada campo de la clase Person. En el método main, inicializamos los campos utilizando el setter y mostramos sus valores en pantalla utilizando el getter. El uso de estos métodos es muy conveniente, y los utilizarás con frecuencia en el futuro.

1. ¿Cuál es el propósito de utilizar getters y setters?

2. ¿Cuál es la sintaxis de un método getter en Java?

3. ¿Cuál es la sintaxis de un método setter en Java?

question mark

¿Cuál es el propósito de utilizar getters y setters?

Select the correct answer

question mark

¿Cuál es la sintaxis de un método getter en Java?

Select the correct answer

question mark

¿Cuál es la sintaxis de un método setter en Java?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 5

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

course content

Contenido del Curso

Java Avanzado

Java Avanzado

1. Estructura Profunda de Java
2. Métodos
3. String Avanzado
4. Clases
5. Clases Avanzadas

book
Getter y Setter

La mejor manera de evitar el modificador de acceso private

Todos los programadores de Java utilizan construcciones llamadas getters y setters.

Los getters y setters son métodos que siguen un patrón específico. Se utilizan para evitar el modificador de acceso private y manipular eficazmente los campos desde otra clase.

¿Qué hacen los getters y setters?

En términos simples, el setter nos permite asignar un valor a un campo específico protegido por el modificador de acceso private, mientras que el getter nos permite recuperar el valor de un campo protegido por el modificador de acceso private.

La sintaxis para un getter y un setter:

Main.java

Main.java

copy
123456789
// getter public fieldType getFieldName() { return field; } // setter public void setFieldName(fieldType field) { this.field = field; }

Como se puede observar en el código anterior, utilizamos la convención de nombres para los métodos getFieldName() y setFieldName(). Por lo tanto, si tenemos un campo private String name y creamos un getter y un setter con los nombres getName() y setName(), respectivamente. También es importante señalar que el getter devuelve un valor del mismo tipo que el campo name, mientras que el setter recibe un parámetro del mismo tipo que el campo name.

Esto nos permite acceder a campos que están protegidos por el modificador de acceso private. Veamos un ejemplo de cómo acceder a un campo privado de la clase Person en la clase main:

Main.java

Main.java

copy
123456789101112131415161718192021
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); System.out.println(bob.getName()); } } class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }

Como puedes observar, utilizamos el setter para asignar un valor al campo name, y luego usamos el getter para mostrar el valor del campo name en pantalla. Presta atención a la sintaxis del getter y setter, así como al hecho de que el campo name en la clase Person está protegido por el modificador de acceso private.

Constructor vs Getter/Setter

¿Cuál es mejor utilizar, la inicialización mediante un constructor + la sobrescritura del método toString(), o el uso de getters y setters?

Definitivamente es preferible utilizar getters y setters para acceder a los campos protegidos por el modificador de acceso private. Esto proporciona mayor flexibilidad en el código y mejora su legibilidad. Cuando se observa el uso del método getName() en el código, se entiende de inmediato que este método recupera el campo llamado name. Lo mismo ocurre al ver el uso del método setName(), se comprende de inmediato que se está asignando un valor específico al campo para el objeto de la clase en la que se utiliza. Si otras personas leen tu código, agradecerán ver getters y setters.

También es importante señalar que cada campo requiere su propio getter y setter. Si una clase tiene dos campos protegidos por el modificador de acceso private, la clase debe tener un getter para cada campo, es decir, dos getters y dos setters. Veamos un ejemplo donde añadimos un campo age a la clase Person:

Main.java

Main.java

copy
12345678910111213141516171819202122232425262728293031
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); bob.setAge(27); System.out.println("Person's name: " + bob.getName() + ", Person's age: " + bob.getAge()); } } class Person { private String name; private int age; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } }

Como puedes observar, hemos creado un getter y un setter para cada campo de la clase Person. En el método main, inicializamos los campos utilizando el setter y mostramos sus valores en pantalla utilizando el getter. El uso de estos métodos es muy conveniente, y los utilizarás con frecuencia en el futuro.

1. ¿Cuál es el propósito de utilizar getters y setters?

2. ¿Cuál es la sintaxis de un método getter en Java?

3. ¿Cuál es la sintaxis de un método setter en Java?

question mark

¿Cuál es el propósito de utilizar getters y setters?

Select the correct answer

question mark

¿Cuál es la sintaxis de un método getter en Java?

Select the correct answer

question mark

¿Cuál es la sintaxis de un método setter en Java?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 5
some-alt