Um pouco de Java17

  • 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.

原文链接:Um pouco de Java17

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容