Getters y setters o atributos públicos en Java, ¿qué es mejor?

  Рет қаралды 8,152

makigas

makigas

Жыл бұрын

Hace poco me plantearon la siguiente pregunta: ¿qué sentido tiene fabricar getters y setters en las clases Java cuando podría declarar atributos públicos e interactuar con ellos directamente? Los ejemplos de getters y setters que se ponen para entender encapsulación son buenos, pero es verdad que si son simples, no permiten entender todos los matices sobre por qué la encapsulación por getters y setters es más efectiva que acceder directamente a los atributos. En este vídeo vemos cómo aplicar algunas técnicas que podemos aplicar a nuestro código cuando usamos getters y setters y que no podemos aplicar cuando usamos los atributos públicos, como:
- Validar la entrada cuando se usa un setter (para rechazar valores inválidos).
- Derivar el resultado que se obtiene de un getter (hacerle cambios, concatenar cosas...)
- Delegar en otro código diferente cuando se llama a un getter o a un setter.
- Crear propiedades virtuales: tienen getter y setter pero en vez de estar respaldados por un atributo privado, hacen cualquier otra cosa.
🔔 ¡Suscríbete ya! kzbin.info?sub_confi...
➕ Más tutoriales en: www.makigas.es
⭐ Programa de miembros: youtube.com/@makigas/join
📝 Foros de la comunidad: foro.makigas.es
💬 Servidor de Discord: discord.makigas.es

Пікірлер: 22
@maicolarias2516
@maicolarias2516 Жыл бұрын
Videos que valen mucho la verdad, muchas gracias por el contenido, me ayudas mucho en mi ruta de aprendizaje en Java. Deseo lograr dedicarme a esto laboralmente. Muchas gracias por el contenido
@videovideo166
@videovideo166 Жыл бұрын
que buen punto! tienes razon, nadie explica la razón avanzada
@Elfita92
@Elfita92 6 ай бұрын
Infinitas gracias por explicarlo, no entendía nada de por qué ponía cada dos por tres esos get y set en los métodos.
@wanfrev
@wanfrev 10 ай бұрын
Que videos tan buenos los de esta lista de reproduccion me los he visto todos como si nada, muy entretenidos y explica cosas que en muchos cursos no se dan el tiempo de explicar
@tigre_ee1276
@tigre_ee1276 4 ай бұрын
MUY BUEN VIDEOOOOOOOOOOOOOOOOOOOOOOO
@santiagovillacampahorta4960
@santiagovillacampahorta4960 3 ай бұрын
Muy bien explicado, muchas gracias!!
@Forrest-777
@Forrest-777 Жыл бұрын
El mejor video sobre la encapsulación
@ivandejesusavilesmorales2229
@ivandejesusavilesmorales2229 2 ай бұрын
Excelente, por fin me quedo claro la implementación de getters y setters
@XploitzPlus
@XploitzPlus Жыл бұрын
Yo me di cuenta de eso cuanto cree mi primer proyecto, me di cuenta de que si asigno una variable publica si la puedo obtener mas adelante pero no puedo validarlo sin tener que escribir un nuevo codigo que lo haga, en cambio con getter y setter establezco que variable necesito y al mismo tiempo que me valida que la variable que estoy solicitando es correcta, y de esa manera me evito muchos errores a futuro
@WAMontes
@WAMontes Жыл бұрын
Gran video. Muchas gracias por la información.
@Chemaclass
@Chemaclass Жыл бұрын
Genial explicación!
@makigas
@makigas Жыл бұрын
Sorprendentemente a la gente le ha gustado.
@hba6018
@hba6018 Ай бұрын
El problema es el abuso de setters y getters, que se crean incluso para campos que deberían ser de solo lectura u objetos inmutables. Esto ocurre en clases internas privadas, clases de utilidad y clases sencillas como Point o Pair, donde los atributos podrían ser públicos. Muchos desarrolladores consideran una mala práctica usar atributos públicos, sin entender la razón de tener getters y setters. Por eso y cosas similares, viene la percepción de verbosidad en Java, cuando en realidad depende del programador, no del lenguaje
@wilberjosematusgonzalez1221
@wilberjosematusgonzalez1221 11 күн бұрын
Excelente explicacion, sin embargo el tema con el uso de propiedad publicas en lugar de privadas tiene que ver con el hecho de que la mayoria de los programadores en java casi te obligan siempre a usar Get y SET cuando el 90% de las veces (cuidado mas) es totalmente inneceario si tu propiedad nombre solo contine y retornara un nombre el encapsulamiento sobra completamente y lo unico que hace es entorpecer el mantenimiento del codigo y aumentar su extencion.
@wilsonariaslopez7413
@wilsonariaslopez7413 Жыл бұрын
Bien video pa
@marcosbarranquero8289
@marcosbarranquero8289 Жыл бұрын
En el 7.40 indicas que un setter (o getter) no pueden devolver excepciones para ser propiedades de verdad. ¿A qué te refieres con eso? No veo por qué, en un caso general, estaría mal enchufar un throw diciendo que el arg. es inválido. ¿Qué no estoy contemplando?
@makigas
@makigas Жыл бұрын
Creo que aquí expliqué mal una cosa. Normalmente puedes tirar el throws, pero para algunos tipos de clases, como los beans, es un poco más complicado. Los beans son capaces de sacar la lista de propiedades por reflexión, pero no les gusta que se tiren excepciones, son un poco más pesados porque hay que disparar un evento en caso de que algo vaya mal, en vez de lanzar una excepción.
@DiegoPerozo
@DiegoPerozo Жыл бұрын
muy acalarador el video.
@lautaroscuffi
@lautaroscuffi Жыл бұрын
so clean
@ddutra
@ddutra Жыл бұрын
Pq em Java no puedo usar directamente las variables? Java no t prohibe nada! El exito del Java esta en las herramientas q t ayuda a desarollar un codigo mejor! E como, elegantemente visto en el video, los getters y setters son apenas un exemplo d las herramientas criadas en Java!
@wineloy
@wineloy Жыл бұрын
Pole
Interfaces funcionales y funciones flecha en Java moderno
7:34
IQ Level: 10000
00:10
Younes Zarou
Рет қаралды 11 МЛН
Clown takes blame for missing candy 🍬🤣 #shorts
00:49
Yoeslan
Рет қаралды 49 МЛН
Gym belt !! 😂😂  @kauermotta
00:10
Tibo InShape
Рет қаралды 18 МЛН
Libros de programación que valen la pena...
16:39
Nate Live
Рет қаралды 193 М.
Records de Java: qué son y cómo usarlos
7:53
makigas
Рет қаралды 8 М.
La Lógica del ENCAPSULAMIENTO explicado con MINECRAFT
7:25
Absolute
Рет қаралды 151 М.
JEP 445: Java va a tener una nueva forma de escribir main
9:52
Course C #. POO V. Getters and Setters. Video 31
26:29
pildorasinformaticas
Рет қаралды 103 М.
GETTERS Y SETTERS en Java ☕ Qué son y cómo crearlos ❓
9:13
Charly Cimino
Рет қаралды 19 М.
¿Qué es Lombok?
8:38
makigas
Рет қаралды 4,8 М.
La LÓGICA de POLIMORFISMO explicada con MINECRAFT
4:21
Absolute
Рет қаралды 227 М.
¿Para qué sirve el modificador static de Java?
5:45
makigas
Рет қаралды 4,2 М.
Сколько реально стоит ПК Величайшего?
0:37
ноутбуки от 7.900 в тг laptopshoptop
0:14
Ноутбуковая лавка
Рет қаралды 3,5 МЛН
Look, this is the 97th generation of the phone?
0:13
Edcers
Рет қаралды 8 МЛН
Это iPhone 16
0:52
Wylsacom
Рет қаралды 921 М.