Caro Flávio,

A razão de as variáveis membros da classe básica permanecerem lá, mesmo que 
inacessíveis pela classe derivada, é que elas são usadas pelos métodos da 
classe básica.

Se alguma variável membro da classe básica não é nunca usada pelos métodos 
da própria classe básica, ela não deveria estar lá pra começo de conversa.

Para qualquer variável duas opções podem ocorrer: ou a variável é totalmente 
invisível fora da classe (privada) ou não (pública, protegida, etc.).

No primeiro caso, declarar uma variável membro privada e não usá-la em 
absolutamente nenhum método é um erro de design.

O segundo caso pode ser argumentado com "a variável membro foi deixada lá 
para expansão, caso alguma outra classe precise" (já ouvi isso mais de uma 
vez na minha vida, sei que é difícil de acreditar). Isso é um mau design, 
pois uma regra de projeto de classes sugere que as classes devam ser 
mínimas. Se outra classe precisar de alguma variável, deve declará-la ela 
mesma.

Atenciosamente,
André
Senior Software Consultant
MSX International, Inc.
4 New York Plaza, NY

-----Original Message-----
From: Flávio Leite [mailto:[EMAIL PROTECTED]]
Sent: quarta-feira, 17 de outubro de 2001 12:16
To: Java-List@Soujava. Org. Br
Subject: [java-list] Pergunta cruel

Pessoal,

Recebi de um colega uma pergunta teórica sobre o Java muito intrigante como 
não consegui ajuda-lo pensei em vcs da lista. É muito válido saber um pouco 
mais sobre a teoria atrás do Java. Segue a pergunta:

No Java caso um atributo de uma classe base seja redefinido com outro tipo 
em uma classe derivada, as duas "versões" estarão presentes em instâncias da 
classe derivada, embora a versão original esteja oculta.Além disso, quando 
temos um atributo privado na classe base,este não é acessível em métodos da 
classe derivada, mas continua presente em suas instâncias (há quem diga que 
ele "não é herdado"). Explique qual a razão da presença, aparentemente 
inútil, desses atributos.

[]s,
Flávio.

_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp


------------------------------ 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
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a