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?

Desde o seu lançamento, em 1985, o fantástico jogo Tetris vende pelo menos 70 milhões de unidades por ano em todo o mundo! Os dados são oficiais e fornecidos pela THQ, uma das distribuidoras do título.


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 primeiro jogo a fazer uso de uma Inteligência Artificial foi o Mouse in the Maze, criado em 1955, na União Soviética. Você pode saber mais sobre ele clicando aqui.


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.


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.