O conceito de herança é um dos mais importantes da programação orientada a objetos. Ele permite que se estenda as classes, gerando herdeiras, que são chamadas de classes-filha ou subclasses.

Vejam a ilustração abaixo, onde temos uma classe chamada Pessoa, uma Aluno e uma Professor.

As classes Aluno e Professor são herdeiras de Pessoa, portanto, nesta ilustração a classe Pessoa é chamada de Superclasse ou classe-pai. As classes Aluno e Professor são chamadas de Subclasses ou classes-filha. Notem que todo aluno e professor também são pessoas, mas nem todas as pessoas são alunos ou professores. Neste exemplo, as classes "Aluno" e "Professor", por serem herdeiras de "Pessoa", também terão "nome", "idade", "e-mail" e "sexo", que são os atributos da superclasse, mas além disso terão outros atributos específicos deles. É exatamente para que não tenhamos que inserir esses atributos comuns em todas as classes, o que geraria repetição de código, que existe a herança. Com ela podemos definir as classes Pessoa e Professor como herdeiras da classe Pessoa, ou seja, como subclasses da superclasse Pessoa. O triângulo ligando a classe Pessoa às outras duas indicam exatamente isso.

Aplicando o modelo da ilustração acima, Aluno será herdeiro de Pessoa, portanto terá nome, idade, e-mail e sexo, mas também terá nro_matricula e curso como atributos. Já Professor terá nome, idade, e-mail e sexo, mas também disciplina e salario. A mesma lógica vale para os métodos.Tanto Professor quanto Aluno terão o método exibeDados, mas Aluno também terá atualizaCurso e apagaMatricula. Já Professor terá o método exibeDados, mas também terá o cadastraAluno.

Vejam que com a herança é possível tornar tudo bastante organizado e com uma enorme reutilização de código das classes, ou seja, o processo de programação fica mais ágil. Vejamos como seria isso na prática. Vamos criar a classe "Pessoa" utilizando o C#.

Herança - Programação Orientada a Objetos (POO)

Agora criarei a classe "Aluno", fazendo-a herdar as características da classe "Pessoa":

Herança - Programação Orientada a Objetos (POO)

Vamos ver na prática isso funcionando. Vou tentar acessar o método exibeDados, presente na classe "Pessoa", mas a partir de um objeto do tipo "Aluno".

Herança - Programação Orientada a Objetos (POO)

Aí está o método exibeDados disponível para uso! Ou seja, de fato a classe "Aluno" herdou as características da classe "Pessoa", já que pode usar os métodos disponíveis apenas nela. Percebam que eu posso manipular todos os atributos da classe "Pessoa" a partir da classe "Aluno". Isso, através da herança, foi possível sem a necessidade de repetir tais argumentos no código. Conforme citei no início deste tópico, é o reaproveitamento de código voltado para as classes. Simples, mas muito útil!


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?

Criar um jogo é muito mais complexo do que parece. São milhares, às vezes, milhões de linhas de código. Isso não é exagero! Apenas o jogo Ultima Online possui 6.006.313 linhas de programação, totalizando 25.103.295 palavras


O console Nintendo Entertainment System (NES), da Nintendo, detém o recorde de videogame mais clonado em todo o mundo. Já foram catalogados mais de 300 aparelhos diferentes capazes de reproduzir seus jogos! Saiba mais sobre ele aqui.


A Máquina de Pascal, criada em 1642 pelo filósofo, físico e matemático francês Blaise Pascal, é reconhecida como o primeiro computador do mundo e ele foi criado com o objetivo de calcular impostos. Saiba mais.


O ábaco é o dispositivo de cálculo mais antigo construído e conhecido pelo homem. Suas formas mais primitivas datam de 400 a.C. e eles foram encontrados na China e na Babilônia. Para saber mais sobre a história dos computadores, clique aqui.


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 título Space Invaders, lançado em 1980, fez tanto sucesso em todo o mundo que as pessoas compravam o console Atari apenas para poderem jogá-lo em casa. Saiba mais sobre este incrível título clicando aqui.