You are on page 1of 12

Orientao a Objetos

Herana
Generalizao e Especializao

Gil Eduardo de Andrade


O Conceito de Herana
O que Herana?

Em alguns casos, diferentes classes possuem


caractersticas em comum;
Ao invs de criarmos uma nova classe,
repetindo as caractersticas, utilizamos as
caractersticas da classe j existente;
Ou seja, herana uma classe que deriva de
outra classe pr-definida;
Aula 05: Herana Gil Eduardo de Andrade
O Conceito de Herana
Como funciona Herana?

Se tivermos uma classe Pessoa, com as


caractersticas ou atributos: nome e
data_nascimento;
Se criarmos uma classe Aluno, ento todas as
caractersticas da classe Pessoa tambm so
vlidas para classe Aluno;
Sendo assim Aluno deriva de Pessoa;
Aula 05: Herana Gil Eduardo de Andrade
O Conceito de Herana
Herana em Java

Para fazermos uma classe herdar


caractersticas de outra classe usamos a
palavra reserva extends;
Por exemplo:
Public Class Aluno extends Pessoa {
}

Aula 05: Herana Gil Eduardo de Andrade


O Conceito de Herana
Herana em Java

Importante observar que: o Java s permite


que uma classe herde caractersticas de uma
outra nica classe no h herana mltipla;
Entretanto, a herana pode ocorrer de forma
encandeada:
Animal -> Mamfero -> Homem

Aula 05: Herana Gil Eduardo de Andrade


O Conceito de Herana
Exemplo de Herana encadeada

Animal Nascer() Morrer()

Mamfero Nascer() Morrer() Mamar()

Homem Nascer() Morrer() Mamar() Pensar()

Aula 05: Herana Gil Eduardo de Andrade


O Conceito de Herana
Exemplo de Herana em Java
Herda as caractersticas (atributos e
mtodos) da classe Pessoa.

Superclasse mais genrica Subclasse mais especializada


Aula 05: Herana Gil Eduardo de Andrade
O Conceito de Herana
Representao Grfica da Herana
Pessoa
idade : int
nome : String

Aluno Professor
ano : int cursos : String[]
turma : String disciplinas : String[]

Aula 05: Herana Gil Eduardo de Andrade


O Conceito de Herana
Os construtores na Herana

Na Herana, tanto a superclasse quanto a


subclasse possuem seus respectivos
construtores;
E para que seja possvel invocar o construtor
da superclasse, dentro da subclasse,
utilizamos o mtodos super();

Aula 05: Herana Gil Eduardo de Andrade


O Conceito de Herana
Exemplo de Herana: Mtodo super()
Superclasse: generalizao

Aula 05: Herana Gil Eduardo de Andrade


O Conceito de Herana
Exemplo de Herana: Mtodo super()
Subclasse: especializao

Aula 05: Herana Gil Eduardo de Andrade


O Conceito de Herana
Exemplo de Herana: Mtodo super()
Instanciando: objeto da subclasse Aluno

Aula 05: Herana Gil Eduardo de Andrade

You might also like