Alguém pode mim explicar, como que as class abstract e métodos abstract funcionam ?
ou seja, pra que usar ?
Alguém pode mim explicar, como que as class abstract e métodos abstract funcionam ?
ou seja, pra que usar ?
Uma classe abstrata pode ter outros métodos não abstratos e ela nao pode mesmo ser instanciada, ela normalmente é usada para refatorar código comum entre uma hierarquia. Por exemplo
class abstract Pessoa() {
public abstract void fala() {};
public abstract void caminha() {};
public void estuda() { //como uma pessoa estuda? }
}
class Grimgom extends Pessoa {
public void fala(){//como um Grimgom fala? }
public void caminha(){ // como um Grimgom fala? }
}
class Fumbanga extends Pessoa {
public void fala(){//como um Fumbanga fala? }
public void caminha(){ // como um Fumbanga fala? }
}
Nesse caso você esta refatorando um comportamento comum que é o modo como Grimgom e Funbaga estudam. o outro comportamento é especifico de cada especialização.
Espero ter explicado
Uma classe abstrata pode ter outros métodos não abstratos e ela nao pode mesmo ser instanciada, ela normalmente é usada para refatorar código comum entre uma hierarquia. Por exemploclass abstract Pessoa() { public abstract void fala() {}; public abstract void caminha() {}; public void estuda() { //como uma pessoa estuda? } } class Grimgom extends Pessoa { public void fala(){//como um Grimgom fala? } public void caminha(){ // como um Grimgom fala? } } class Fumbanga extends Pessoa { public void fala(){//como um Fumbanga fala? } public void caminha(){ // como um Fumbanga fala? } }Nesse caso você esta refatorando um comportamento comum que é o modo como Grimgom e Funbaga estudam. o outro comportamento é especifico de cada especialização.
Espero ter explicado
Você explicou muito bem. Obrigado.
outra dúvida:
O abstract serve para a segurança também ?
não sei se podemos classificar dessa forma
mas classe abstract serve exatamente para especificarmos como uma classe que vai estenda-la deve se comportar
Ou seja, toda classe que estender uma classe abstract tem que declarar os metodos abstratos que possui dentro dela.
funciona como se fosse uma lei, como o exemplo acima foi declarado na class Pessoa 2 metodos abstratos
assim todas as classe que estenderem a class pessoa vai ter que declarar os metodos fala() e caminha(), a mesmo que a classe que estende-la seja abstract tbm.
Pra simplificar classe abstracts são interfaces que podem declarar metodos comuns.
Espero ter ajudado
Abraços
Na maioria das vezes é possivel usar interface invés de abstract.
abstract é interessante quando existe um método em comum implementado.
Quando é apenas uma classe abstract com métodos abstract prefira interfaces.
não sei se podemos classificar dessa formamas classe abstract serve exatamente para especificarmos como uma classe que vai estenda-la deve se comportar
Ou seja, toda classe que estender uma classe abstract tem que declarar os metodos abstratos que possui dentro dela.
funciona como se fosse uma lei, como o exemplo acima foi declarado na class Pessoa 2 metodos abstratos
assim todas as classe que estenderem a class pessoa vai ter que declarar os metodos fala() e caminha(), a mesmo que a classe que estende-la seja abstract tbm.Pra simplificar classe abstracts são interfaces que podem declarar metodos comuns.
Espero ter ajudado
Abraços
Era isso que eu queria entender… 
A sua linguagem foi mais clara.
Obrigado e fique com DEUS!
Na maioria das vezes é possivel usar interface invés de abstract.abstract é interessante quando existe um método em comum implementado.
Quando é apenas uma classe abstract com métodos abstract prefira interfaces.
Eu sei o que é uma interface, mas eu não sabia o “que fazer com ela”. Entendeu ?..suhaushauhs
Mas mesmo assim, obrigado.
Obrigado pessoal do GUJ! Você são “OS CARAS”;
Quando houver outra dúvida, eu volto aqui pra encher o saco de vocês. blz ? :lol:
Falow 8)
Opa pode voltar sempre!!
Qualquer duvida a e so perguntar para o pessoal aqui que eles são bons sim
Falow