Minha opinião é a seguinte: se você define métodos abstratos em uma
super-classe (A), isso indica que você QUER que todos estes métodos sejam
implementados pelas classes herdadas (B e C). Mas se existem classes herdadas
(B) que não precisam de um ou mais métodos abstratos da super-classe, isto
pode indicar que B NÃO É UM OBJETO A. Ou pelo menos não exatamente. Neste
caso, poderia haver uma classe intermediária (A2) herdada de A, que teria o
método abstrato extra, e então C, que precisa deste método, seria herdado de
A2 em vez de A. Não sei se consegui ser claro, este negócio de A B C costuma
confundir a gente.
Resumindo, talvez seja um problema da modelagem, e não da linguagem.

--
====================================
     Alexandre G. L. Fernandes
       [EMAIL PROTECTED]
     Phone: +55 (19) 3737.4548
Ci&T - software enabling the e-world
       http://www.cit.com.br
====================================

Andre wrote:

> Meu entendimento de "encher linguica" eh achar uma maneira de nao ter que
> implementar os metodos abstratos definidos na super-classe e, neste caso,
> utilizar interfaces ou nao soluciona o problema ou piora a situacao.
>
> Se com classes abstratas eu posso implementar parte dos metodos, usando
> interfaces eu teria que "encher linguica" em todos eles. Uma sub-classe d=
> e
> uma clase abstrata, pelo menos, me da a opcao de "encher linguica" soment=
> e
> nos metodos que eu nao implementei na super-classe.
>
> Andre Mendonca
> [EMAIL PROTECTED]
> Sakonnet Technology, LLC
> 594 Broadway, Suite 403
> New York, NY 10012
>
> -----Original Message-----
> From: Kleber Bueno [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, July 05, 2000 3:19 PM
> To: Henrique Rocha de Faria
> Cc: SouJava
> Subject: RES: [SouJava-J] Classe abstrata e derivadas
>
> em vez de classe abstrata usa uma interface onde s=F3 tem declaracao de
> metodos e vc implementa
> como quiser na classe que implementar sua interface
>
> -----Mensagem original-----
> De: Henrique Rocha de Faria [mailto:[EMAIL PROTECTED]]
> Enviada em: Wednesday, July 05, 2000 4:04 PM
> Para: [EMAIL PROTECTED]
> Assunto: Re: [SouJava-J] Classe abstrata e derivadas
>
> Aproveitando o bonde: existe alguma forma elegante ou convencional
> de "encher lingui=E7a", na implementa=E7=E3o de um m=E9todo abstrato, na
> sub-classe? Existe alguma outra sa=EDda para esse pequeno problema?
> Obrigado,
>
>                 Henrique
>
> Henrique Rocha de Faria wrote:
>
> > Obrigado a todos por me responderem! =C9 sinal de que a lista
> > funciona :) ! J=E1 estou ciente da causa do problema e vou trabalhar
> > em cima! Espero poder ajud=E1-los, em outras oportunidades!
> >
> >             Henrique
> >
> > Alysson Neves Bessani wrote:
> >
> > > On Wed, 5 Jul 2000, Henrique Rocha de Faria wrote:
> > >
> > > > Ol=E1!
> > > > Uma classe A derivada de uma classe abstrata B (class A extends B)
> > > > deve, obrigatoriamente, implementar TODOS os m=E9todos abstratos
> > > > de B?
> > >
> > >         Sim!
> > >
> > > > "A.java": class "A" must be declared abstract. It does not define
> "metodoX"
> > > > from class "B".
> > > > public class A extends B {
> > > > ^
> > >
> > >         Voce tem que incluir o metodoX... e implementar de alguma for=
> ma.
> > >
> > > Alysson Neves Bessani
> > > mailto:[EMAIL PROTECTED]
> >
>





    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
    [dúvidas mais comuns: http://www.soujava.org.br/faq.htm]
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    [regras da lista: http://www.soujava.org.br/regras.htm]
    ---------------------------------------------------------------------

Responder a