teste
Objetos: Herança
PROF ª DANIELLE DORNELLAS DINIZ
Herança
Surge com a intenção de diminuir duplicações de códigos;
Permite que classes compartilhem atributos e métodos;
É usada na intenção de reaproveitar código ou comportamento generalizado ou especializar operações ou atributos.
A classe herdeira é chamada subclasse da classe anterior, que é a sua superclasse.
Herança
Podemos então relacionar uma classe de tal maneira que uma delas herda tudo o que a outra tem;
A relação de herança é indicada através da palavra-chave extends. Por
"default", todas as classes herdam da classe Object.
Ex: class Gerente extends Funcionario
A nomenclatura mais encontrada é que Funcionario é a superclasse de Gerente, e Gerente é a subclasse de Funcionario.
Dizemos também que todo Gerente é um Funcionario.
Outra forma é dizer que Funcionario é classe pai de Gerente e Gerente é classe filha de Funcionario.
Herança
Vale notar que a linguagem Java permite somente herança simples, iou seja, uma classe pode herdar diretamente de uma única classe (possui uma única superclasse direta). Em contrapartida, uma classe pode possuir várias subclasses diretas.
Exemplo 1 public class Ponto{ protected double x, y;
public class Circulo extends Ponto{
public Ponto(){ setPonto( 0, 0 );
}
protected double r; public Circulo(){
/* aqui ocorre uma chamada implicita ao construtor da superclasse */ setRaio( 0 );
}
public Ponto( double a, double b ){ setPonto( a, b );
}
public Circulo( double a, double b, double r ){ super( a, b ); setRaio( r );
}
public void setPonto( double a, double b ){ x = a; y = b;
}
public String emPalavras(){ return "[" + x + ", " + y + "]";
}
}
public void setRaio( double r ){ this.r = r;
}
}
Exemplo 1
•
Note que as variáveis x e y da superclasse são acessíveis à subclasse pois foram declaradas protected.
•
A palavra-chave