[JAVA] Classe Abstrata
O que é e pra que serve uma classe abstrata?
Wellington
Curtidas 1
Respostas
Ricardo Pereira
13/10/2016
reforça ainda mais a idéia que classes são apenas protótipos, a classe abstrata não pode ser instanciada, então ela server para atribuir ou simplesmente marcar atributos e comportamentos que são comuns à todas as instancias das subclasses, por exemplo:
com isso estou dizendo que toda classe que vá extender de Animal vai herdar o comportamento de respirar(todo animal respira, caso contrario morre), agora porque também coloquei o método respirar como abstract? simples porque métodos abastratos tem apanas a assinatura, ele apenas marca o comportamento, só quis expressar que todo animal respira, mas cada animal respira de uma forma diferente, então neste caso aí, cada animal vai dizer a forma que respira
Reparou, com a classe abstrata eu defini que todo animal vai ter que implementar o método respirar, mas o processo de respiração varia de animal para animal, então eu deixo para a subclasse realizar o processo.
Agora se a implementação for a mesma para todas as classes filhas, eu poderia ter implementado este método na própria classe abstrata e as subclasses já herdariam este comportamento
public abstract class Animal(){ public abstract void respirar(); } }
com isso estou dizendo que toda classe que vá extender de Animal vai herdar o comportamento de respirar(todo animal respira, caso contrario morre), agora porque também coloquei o método respirar como abstract? simples porque métodos abastratos tem apanas a assinatura, ele apenas marca o comportamento, só quis expressar que todo animal respira, mas cada animal respira de uma forma diferente, então neste caso aí, cada animal vai dizer a forma que respira
public class Mamifero extends Animal{ public void respira(){ // ar entra pela boca //vai pela traqueia //vai para os pulmões //transforma O2 em CO2.... } }
public class Peixe extends Animal{ public void respira(){ //agua entra pelas gueurras //gueurras retiram O2 da aguá.... } }
Reparou, com a classe abstrata eu defini que todo animal vai ter que implementar o método respirar, mas o processo de respiração varia de animal para animal, então eu deixo para a subclasse realizar o processo.
Agora se a implementação for a mesma para todas as classes filhas, eu poderia ter implementado este método na própria classe abstrata e as subclasses já herdariam este comportamento
GOSTEI 0
Stuart Linhares
13/10/2016
reforça ainda mais a idéia que classes são apenas protótipos, a classe abstrata não pode ser instanciada, então ela server para atribuir ou simplesmente marcar atributos e comportamentos que são comuns à todas as instancias das subclasses, por exemplo:
com isso estou dizendo que toda classe que vá extender de Animal vai herdar o comportamento de respirar(todo animal respira, caso contrario morre), agora porque também coloquei o método respirar como abstract? simples porque métodos abastratos tem apanas a assinatura, ele apenas marca o comportamento, só quis expressar que todo animal respira, mas cada animal respira de uma forma diferente, então neste caso aí, cada animal vai dizer a forma que respira
Reparou, com a classe abstrata eu defini que todo animal vai ter que implementar o método respirar, mas o processo de respiração varia de animal para animal, então eu deixo para a subclasse realizar o processo.
Agora se a implementação for a mesma para todas as classes filhas, eu poderia ter implementado este método na própria classe abstrata e as subclasses já herdariam este comportamento
public abstract class Animal(){ public abstract void respirar(); } }
com isso estou dizendo que toda classe que vá extender de Animal vai herdar o comportamento de respirar(todo animal respira, caso contrario morre), agora porque também coloquei o método respirar como abstract? simples porque métodos abastratos tem apanas a assinatura, ele apenas marca o comportamento, só quis expressar que todo animal respira, mas cada animal respira de uma forma diferente, então neste caso aí, cada animal vai dizer a forma que respira
public class Mamifero extends Animal{ public void respira(){ // ar entra pela boca //vai pela traqueia //vai para os pulmões //transforma O2 em CO2.... } }
public class Peixe extends Animal{ public void respira(){ //agua entra pelas gueurras //gueurras retiram O2 da aguá.... } }
Reparou, com a classe abstrata eu defini que todo animal vai ter que implementar o método respirar, mas o processo de respiração varia de animal para animal, então eu deixo para a subclasse realizar o processo.
Agora se a implementação for a mesma para todas as classes filhas, eu poderia ter implementado este método na própria classe abstrata e as subclasses já herdariam este comportamento
GOSTEI 0
Stuart Linhares
13/10/2016
O que é e pra que serve uma classe abstrata?
E no caso de uma classe conta como eu poderia fazer?
GOSTEI 0