Você está na página 1de 15

Herana

Herana
Ao

criar uma classe, em vez de declarar novos


membros, possvel designar que a nova classe deve
herdar membros (mtodos e atributos) de uma classe
existente;

herana consiste na criao de novas classes a partir


de outras j existentes;

Herana

uma forma de reutilizar software em que


uma nova classe criada herdando membros de uma
classe existente.

Herana
A

classe existente chamada de superclasse;

nova classe criada chamada de subclasse;

Reutilizao

de cdigo uma das principais


vantagens em se utilizar Orientao a Objetos.

Para

entregar software de qualidade em menos


tempo, preciso fazer reutilizaes: copiar e
colar no reutilizao de cdigo!

Herana
Em

Java, a herana implementada utilizando


a palavra-chave extends;

extends

sugestiva porque a classe que est


sendo criada estende uma outra existente:

uma parte do que j existe naquela classe;

Pode

adicionar novos recursos;

Pode

redefinir recursos existentes.

Herana
Uma

subclasse pode adicionar seus prprios


atributos e mtodos;

Uma

subclasse mais especfica que sua


superclasse e representa um grupo mais especializado
de objetos;

A subclasse

expe os comportamentos e
caractersticas da sua superclasse e pode adicionar
comportamentos e caractersticas especficos ela
mesma e;

vezes, a herana chamada de especializao.

Herana
Frequentemente,

um objeto de uma classe um


objeto de outra classe;

Por

exemplo:

Em

Geometria, um Retngulo, um Quadrado, um


Paralelogramo e um Trapzio so Quadrilteros;

Assim,

Quadriltero uma superclasse enquanto


Retngulo, Quadrado, Paralelogramo e Trapzio so
subclasses de Quadriltero

Herana - Nomemclaturas
Superclasse;

Subclasse;

Classe

base;

Classe

derivada;

Classe

pai/me;

Classe

filha;

Classe

ancestral;

Classe

Etc.

descendente;
Etc.

Herana - Exemplos
Superclasse

Subclasse

Medico

Cardiologista, Pediatra, Gastro

Quadrilatero

Retangulo, Quadrado, Paralelograma,


Trapezio

Financiamento

Carro, Imovel

Servidor

Professor, TecnicoAdministrativo

ContaBancaria

ContaCorrente, ContaPoupanca

Analise

Sistemas, Trafego, Financeira

Engenharia

Computacao, Eletrica, Petroleo

Funcionario

Gerente, Secretaria, Telefonista

Herana
Uma

subclasse um tipo de uma superclasse;

Assim, para identificar subclasses em uma


hierarquia, basta utilizar o teste do um?:

Herana
Sintaxe:
class SubClasse extends SuperClasse{
...
}
Semntica:
A subclasse herda todos os atributos e mtodos que a
superclasse possui;
A subclasse um subtipo da superclasse, ou seja,
uma extenso.

Herana
public
Membros

acessveis por qualquer classe

private
Membros

default

acessveis apenas por objetos da prpria classe

(pacote)

Membros

acessveis pode classes do mesmo pacote e


subclasses

protected
Membros

acessveis por objetos da prpria classe, por


objetos da subclasses e por classes do mesmo pacote

Herana - Exemplo

Herana - Exemplo

Herana - Exemplo

Herana Como funciona

Imagine que o Objeto2 solicitou ao Objeto1 a execuo do metodoX()...

Objeto1 procura o metodoX() na Classe C;

Porm, este mtodo no foi definido na Classe C;

Assim, o Objeto1 procura (e encontra) o mtodo invocado na sua classe ancestral B

Você também pode gostar