- Sealed Classes
Sealed Classes foram introduzidas no Java 17 como parte das melhorias relacionadas à programação orientada a objetos, permitindo uma maior restrição a herança de classes. Essa funcionalidade oferece mais controle sobre quais classes podem estender ou implementar uma classe ou interface, ajudando a manter o código mais seguro.
Vamos criar um tutorial passo a passo sobre como usar Sealed Classes em Java 17.
Primeiramente vamos criar uma classe chamada Banco e vamos adicionar a ela o modificador “sealed”, que controla como outras classes ou interfaces podem estender ou implementar a classe ou interface.
Fazendo isso, podemos ver que temos um erro indicando que a classe Banco com modificador “sealed” precisa ter subclasses.
Para resolver este problema, vamos criar uma classe chamada Cliente e adicionando a cláusula “permits” a classe Banco.
Fazendo isso podemos ver que termos o seguinte erro.
> Invalid permits clause: ‘Cliente’ must directly extend ‘Banco’
É isso mesmo que você está pensando, para resolver este problema precisamos extender a classe Banco diretamente na classe Cliente.
Isso resolve nosso problema e com isso ja conseguimos utilizar nossa Sealed Classe, legal não e mesmo ?
> OBS: O conceito de sealed também pode ser aplicado a interfaces em Java 17. Assim como em classes, uma interface selada pode restringir quais outras interfaces ou classes podem implementá-la.
Conclusão:
Sealed Classes oferecem uma forma poderosa de restringir e controlar herança em Java. Com isso, você pode evitar que classes sejam estendidas por engano, melhorando a legibilidade e a segurança do código.
Top comments (0)