Minicursos - Programação Orientada a Objetos

Classes Seladas


As classes seladas são as mais simples e fáceis de serem compreendidas, mas nem por isso menos importantes. Imagine que você tenha uma aplicação com várias classes gerando uma hieraraquia de heranças. Existe uma Superclasse, que é herdada por Subclasse1 e também temos a Subclasse 2, que herda de Subclasse 1, conforme a figura abaixo:

Classes Seladas - Programação Orientada a Objetos - POO

Essa hierarquia, conforme ilustrada na figura acima, poderia não ter fim, já que poderíamos criar uma Subclasse 3, que herdaria de Subclasse 2 e assim por diante. Bem, mas imagine que você queira impedir isso, fazendo com que determinada classe não possa ser herdada, ou seja, você tem a chamada “classe pronta”, que por não ser herdada também não aceitará a sobrescrita de métodos. Bem, para proteger sua classe contra novas operações de herança é que o tipo de classe selada é usada. Eu criei a mesma estrutura de classes da imagem acima:

Classes Seladas - Programação Orientada a Objetos - POO

Agora vou selar a Superclasse para impedir que a Subclasse1 herde dela, vejam como a sintaxe é simples:

Classes Seladas - Programação Orientada a Objetos - POO

Vou tentar compilar essa aplicação, já que a Subclasse1 herdava dela e a Subclasse2 herdava de Subclasse1:

Classes Seladas - Programação Orientada a Objetos - POO

Vejam que não foi possível e um erro de compilação surgiu.

Essa mesma lógica poderia valer para um método, ou seja, podemos permitir que uma classe seja herdada e impedir que um método seja sobrescrito, ou seja, podemos impedir que façam override em métodos. A única observação é que eles já precisam ser sobrescritos, ou seja, precisam estar presentes em alguma subclasse. Vou demonstrar com exemplos. A Subclasse1 também possui o método calculaPrecoParcelado, sobrescrito da Superclasse, vejam:

Classes Seladas - Programação Orientada a Objetos - POO

Ela está herdando de Superclasse e efetuando o override no método calculaPrecoParcelado.

Classes Seladas - Programação Orientada a Objetos - POO

Agora vamos selar o método calculaPrecoParcelado em Subclasse1, para impedir que Subclasse2 possa sobrescrevê-lo.

Classes Seladas - Programação Orientada a Objetos - POO

Agora vou tentar compilar a aplicação:

Classes Seladas - Programação Orientada a Objetos - POO

Agora o método calculaPrecoParcelado, presente em Subclasse1 está selado, ou seja, impedido de ser modificado por uma subclasse, que no caso é a Subclasse2.

Essa é a função das classes e métodos selados. Simples, mas muito importante!



Algumas notícias

As memórias DDR5 estão chegando e trarão muitas melhorias

A próxima geração de memórias RAM já possui especificações definidas e promete grande melhoria em relação às atuais DDR4. E o mais importante: mesmo com desempenho bastante superior, elas consumirão menos energia. A tensão de trabalho das memórias DDR5 será de apenas 1.1V contra os 1.2V das atu...

Ler Notícia Completa

Google Chrome consumirá menos memória RAM em breve

O navegador da gigante de buscas da Internet é, sem dúvida, um dos melhores disponíveis, mas é inegável que o consumo de memória RAM por parte dele é exagerado. Este problema já se estende por anos, mas parece que em breve ele terá uma solução. Um novo recurso do Windows 10, chamado SegmentHeap...

Ler Notícia Completa

Sites e vídeos sem propagandas? Sim, é possível através da exploração de uma falha!

Seguramente você já se deparou com sites que bloqueiam o conteúdo da página e te obrigam a assinar determinado serviço para ler o conteúdo, certo? Ou foi tentar assistir aquele vídeo e as propagandas em tela cheia não pararam de surgir. Bem, todos já nos deparamos com isso, no entanto, um bug de...

Ler Notícia Completa

Inteligência Artificial cria antibiótico super potente

Pesquisadores do MIT (EUA) identificaram um novo e poderoso composto antibiótico usando um algoritmo de aprendizado de máquina, uma técnica de inteligência artificial. Em testes de laboratório, a droga matou algumas das bactérias causadoras de doenças mais problemáticas do mundo, incluindo algu...

Ler Notícia Completa

Google lança programa para capacitar profissionais brasileiros e com direito a bolsas

O Google iniciou nesta terça-feira (17) o Certificado Profissional de Suporte em TI para brasileiros. Trata-se de um curso desenvolvido pela gigante de tecnologia em parceria com a Coursera. Inicialmente, o módulo de ensino foi anunciado a um valor de US$ 39 por mês. Entretanto, sofreu uma redu...

Ler Notícia Completa

Intel Core i9-9900KS é um monstro com frequência de 5GHz em todos os núcleos

A Intel é uma das empresas presentes na Computex 2019, a maior feira de hardware da Ásia. E a empresa começou a esquentar os motores antes mesmo do início das conferências, exibindo um processador que não está para brincadeira: o Intel Core i9-9900KS, uma edição especial e ainda mais turbinada do...

Ler Notícia Completa
Você gostará destes vídeos!