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!


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

O primeiro computador a conseguir rodar o jogo Spacewar era o PDP-1, que custava 120 mil dólares e pertencia ao Massachusetts Institute of Technology. O jogo demorou 200 horas para ser desenvolvido, em 1962, e seu criador foi um cientista da computação chamado Steve Russel.


O personagem Mario só possui bigode porque quando ele foi criado, em 1981, a resolução de tela dos equipamentos disponíveis não permitia que fosse desenhada uma boca, então os desenvolvedores fizeram o grande bigode para contornar essa limitação tecnológica.


A primeira versão do clássico Mega Man, para Nintendo 8 bits, tem seu recorde de pontos estabelecido em 03/11/2006, por David Archey, que cravou 2.396.700 pontos, terminando o jogo.


O ENIAC, primeiro computador valvulado do mundo, possuía 17.000 válvulas, 500.000 pontos de solda, 30 toneladas de peso e ocupava uma área de 180 metros quadrados. Clique aqui e conheça mais sobre a história dos computadores.


O personagem Mario surgiu pela primeira vez no mundo dos games em um jogo chamado Donkey Kong, lançado em 1981. Mario, que naquela época se chamava Jumpman, não era o personagem principal do jogo, mas ele se tornaria um dos mais famosos personagens do mundo dos games. Saiba mais.


O Playstation só nasceu porque uma parceria entre Sony e Nintendo, para desenvolver uma unidade de CD para o Super Nintendo, fracassou. Clique aqui e saiba mais.


Ao completar o nível 99 do jogo Duck Hunt, para Nintendo, o jogo retorna ao primeiro nível, mas um bug impede que se acerte os patos neste recomeço. Este é um exemplo do que é chamado no mundo dos games de "Kill Screen".


Considerando todas as adaptações de jogos de videogame para o cinema, a mais bem sucedida foi Lara Croft: Tomb Raider, lançado em 2001 e que faturou 274 milhões de dólares. Ele foi dirigido por Simon West e estrelado pela bela Angelina Jolie.


As primeiras máquinas de fliperama do mundo a utilizarem moedas, chamadas de Galaxy Game, custavam mais de 20 mil dólares para serem produzidas. Saiba mais sobre elas aqui.