El concepto de "clases e interfaces selladas" surge desde la versión Java 15 hasta la 17. Pero, ¿Qué son y para qué sirven las clases e interfaces sealed? Estas construcciones permiten un control más estricto sobre la herencia ( extends ) y la implementación ( implements ), lo que mejora la seguridad, el diseño del código y la claridad en la intención del desarrollador. Clases sealed: Una clase sellada es una clase que restringe qué otras clases pueden extenderla. Esto se logra especificando explícitamente las subclases permitidas mediante la palabra clave permits . Interfaces sealed: Similar a las clases selladas, una interfaz sellada restringe qué clases o interfaces pueden implementarla o extenderla, también usando permits . Ejemplos de clases sealed public sealed class Vehiculo permits Coche, Moto { // Código de la clase } final class Coche extends Vehiculo { // Código de la clase } final class Moto extends Vehiculo { /...
Las clases `` record `` son una implementación de las data-clases o del patrón Data Transfer Object , un tipo de clase cuyo único propósito es impulsar la programación con datos inmutables. Son clases que se usan para almacenar valores y poder agruparlos en un único identificador. A diferencia de una clase normal, el `` record `` es inmutable. Además que automáticamente genera métodos como equals(), hashCode() y toString(). Miremos un ejemplo. Auditor.java package com . mx . inforhomex ; /** * * @author Alquimista de código * */ public record Auditor { } Modificamos la clase `` record `` agregando tres campos: nombre de tipo String . fchreg de tipo LocalDate . horreg de tipo LocalTime . Clase `` record `` modificada: package com . mx . inforhomex ; import java . time . LocalDate ; import java . time . LocalTime ; /** * * @author Alquimista de código * */ public record Auditor(String nombre, LocalDate fchreg, LocalTime horreg) {...