Gente, to começando java agora, e tenho um exercício pra fazer, porem perdi a aula deste dia, gostaria de ajuda aqui.[i]
Tenho a Superclasse Animais (nesta defino se os animais são macho ou fêmea)
Tenho a Subclasse Terrestre ( onde defino se o animal é herbívoro ou carnívoro)
Tenho a Subclasse Aquatico (onde defino se o animal vive em agua doçe ou salgada)
Eu tentei diversas vezes, mas como nao peguei o conteudo da aula, nao consegui.
Fico agradescido desde jah…
Olá ValterCEC!
vc perdeu uma aula sobre herança, uma das características da orientação a objetos!
O que vc precisa pesquisar é sobre a palavra chave extends
da uma olhada nesses links:
http://xahlee.org/java-a-day/extend.html
http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html
http://www.javacoffeebreak.com/java104/java104.html
http://www.tiexpert.net/programacao/java/heranca.php
provavelmente foi sobre isso que seu professor falou e vc perdeu
Coincidencia, também estou nessa parte em meu curso e perdi essa aula. Mas eu tava lendo a apostila do curso a Java OO da Caelum e aprendi isso só de ler lá.
É uma boa idéia você dar uma lida nesta da Caelum, tem umas dicas muitoo boas!
Mas o básico de herança é o seguinte.
Vc criou a classe Animal.
Em seguida vc cria a classe Terrestre, usando a palavra chave extends que o user acima citou.
E assim também faz com as outras, todas sendo extends da superclasse Animal.
Aí na classe Animal vc coloca atributos que são comuns a todos os tipos de animais, e nas subclasse, atributos mais particulares a determinados animais que vc deseja listar. Lembrando que todos os atributos da superclasse Animal serão herdados por todas as subclasses dela, e os métodos também, sendo que você pode sobrescrever os métodos da superclasse para refinar mais “as açoes que seu animal vai exercer”…
A base é isso, já fiz duas listas de exercícios no curso e ainda estou pegando os macetes, mas a base é isso.
1 curtida
Ficará + ou - assim:
//Superclasse
Public class Animais {
private final String sexo; //poderia ser char ou boolean
public Animais (String sexo) {
this.sexo=sexo;
}
public String getSexo() {
return sexo;
}
}
//Subclasse
Public class Terrestre extends Animais {
private String alimento;
public Terrestre (String sexo, String alimento) {
super(sexo);//passa parâmetro para o construtor da superclasse
this.alimento=alimento;
}
public void setAlimento(String alimento) {
this.alimento=alimento;
}
public String getAlimento() {
return alimento;
}
}
//Subclasse
Public class Aquatico extends Animais {
private String habitat;
public Aquatico (String sexo, String habitat) {
super(sexo);//passa parâmetro para o construtor da superclasse
this.habitat=habitat;
}
public String setHabitat(String habitat) {
this.habitat=habitat;
}
public void getHabitat() {
return habitat;
}
}
Assim suas subclasses Terrestre e Aquatico terão acesso ao método getSexo(); da superclasse Animais, porém os gets e sets das subclasses Terrestre e Aquatico serão exclusivas delas.
:thumbup: