É necessário usar o abstract?

8 respostas
duduindo

Alguém pode mim explicar, como que as class abstract e métodos abstract funcionam ?

ou seja, pra que usar ?

8 Respostas

Andre_Fonseca

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

duduindo
André Fonseca:
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

Você explicou muito bem. Obrigado.

outra dúvida:
O abstract serve para a segurança também ?

ma.pops

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

Marky.Vasconcelos

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.

duduindo

ma.pops:
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

Era isso que eu queria entender… :wink:
A sua linguagem foi mais clara.

Obrigado e fique com DEUS!

duduindo

Mark_Ameba:
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.

duduindo

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)

ma.pops

Opa pode voltar sempre!!

Qualquer duvida a e so perguntar para o pessoal aqui que eles são bons sim

Falow

Criado 27 de dezembro de 2009
Ultima resposta 28 de dez. de 2009
Respostas 8
Participantes 4