Setters en un record de Java: ¿es posible?

Поделиться
HTML-код
  • Опубликовано: 4 дек 2024

Комментарии • 18

  • @atellezfx
    @atellezfx Год назад +5

    Hola!, bueno en realidad la función de los Registros en Java, tiene un fondo más trasendental y es la Programación Orientada a Datos, lo que representa el principio de inmutabilidad, recordemos que Java ahora puede manejar tres paradigmas de programación, el Orientado a Objetos, el Funcional (JDK8+) , y el Orientado a Datos (JDK14+).
    Para objetos mutables siempre será mejor implementarlos a través de clases con sus debidos controles de acceso, e incluso, esto abre la puerta a todos los nuevos cambios que vienen en el lenguaje, como las clases selladas.
    Saludos estimado @makigas

    • @makigas
      @makigas  Год назад +1

      Sí, hace poco el canal oficial de Java subió un vídeo que cuenta más sobre esto: ruclips.net/video/UQAw3pvZPCY/видео.html
      Voy a fijar este comentario por si aun así tras el vídeo alguien sigue teniendo preguntas y hace scroll. Por ejemplo, uno de los casos más interesantes en este respecto es que hoy en día es muy habitual consultar datos de una fuente de datos externa como una API REST. En este caso, los records vienen bien para hacer un mapping entre un JSON descargado vía HTTP y un objeto que haga de DTO para poder acceder a las propiedades de ese JSON de una manera más segura y tipada que un Map como harían algunas bibliotecas chapuceras en otros tiempos.

  • @skillR-243
    @skillR-243 Год назад

    Muchas gracias por la información y explicación.

  • @makigas
    @makigas  Год назад +1

    ¡Buenas! Con este vídeo cierro el arco de los records en Java, una de las características más interesantes metidas en los últimos años en el lenguaje de programación. Si alguien se lo está preguntando: sí, esto se parece a lo que la anotación "With" de Lombok puede hacer. Lombok es un tema que está en la lista de pendientes de mi itinerario renovado de Java así que pronto será tratado también.

  • @dracof0332
    @dracof0332 Год назад

    Hola, vi la serie de videos de Records y es interesante de verdad, en este video muestras un buen truco, a lo mejor para muchos algunos es tontería pero en un caso donde se este usando muchas lineas de código con un Record con muchos campos en lugar de estar creando un record de nuevo con los mismos campos mejor le genero un setter y solo modifico lo que quiero.
    Deberías considerar hacer otro video usando el constructor compacto
    record Persona(String nombre, String apellido, int edad) {
    //contructor compacto
    public Persona {
    System.out.println("Constructor sin parametros");
    }
    }
    Creo que es interesante, un constructor que no recibe parámetros, ni asigna de forma manual cada valor a cada campo (y sin embargo, se hace por detrás) y se puede hacer validaciones.
    Buenos videos en tu canal!!!

  • @RobertoGermánPuentesDíaz
    @RobertoGermánPuentesDíaz 28 дней назад

    Similar a los DTO ?

  • @jeici21
    @jeici21 Год назад +1

    Estás usando Lucida Console? Se ve muy bien en IntelliJ 🤔

    • @makigas
      @makigas  Год назад +1

      Si, es Lucida Console, pero es NetBeans, no IDEA (aunque si se confunden es que el tema ha quedado bien para que se le parezca 🤭)

    • @jeici21
      @jeici21 Год назад

      @@makigas jejeje pues funcionó, me confundiste jajajaja🤣

  • @personalaccount1515
    @personalaccount1515 4 месяца назад

    En este video ruclips.net/video/Kr3W0oGnelA/видео.html en el min 43:20 se explica una mejor manera de crear records

  • @florentinobajo
    @florentinobajo Год назад

    Like para ti y para Alejandro Tellez 😉😋

  • @cristina032
    @cristina032 Год назад

    🥝

  • @girlazo2222
    @girlazo2222 Год назад

    Polejava

  • @fernandocastanotorres
    @fernandocastanotorres Год назад

    Y si se quieren tener setters, que ventajas tiene frente a clases de toda la vida? No le veo mucho sentido, no?

    • @makigas
      @makigas  Год назад +2

      Para ese caso no tiene mucho sentido. Los records sólo son apropiados para hacer objetos donde sólo transportamos datos, aunque también tienen uso para hacer pattern matching con el nuevo operador switch que hay en versiones recientes de Java.

  • @martinsam16xyz
    @martinsam16xyz Год назад +1

    que costoso, crea nuevas instancias y reemplazas la anterior, no escala. tienes razon que está hecho para almacenar y transformar datos, me quedo con mi @Getter @Setter o @Data de Lombok. helsing2030 quack quack

    • @makigas
      @makigas  Год назад +1

      Pero el recolector de basura se lo va a comer igualmente, da igual.

    • @jordanalbano5191
      @jordanalbano5191 Год назад

      @@makigas Si dices que el recolector de basura se lo come igualmente, el tema del coste no pasa a ser tan importante?