Java Lang Specification 8.4.6 Inheritance, Overriding, and Hiding A class inherits from its direct superclass and direct superinterfaces all the non-private methods (whether abstract or not) of the superclass and superinterfaces that are accessible to code in the class and are neither overridden (�8.4.6.1) nor hidden (�8.4.6.2) by a declaration in the class. By Al�! -----Mensagem original----- De: Alexandre N�brega Duarte [mailto:[EMAIL PROTECTED]] Enviada em: quinta-feira, 5 de julho de 2001 18:25 Para: [EMAIL PROTECTED] Assunto: Re: [java-list] Basico de OO em JAVA - CUIDADO MESMO!!!! Meu amigo, voce esta COMPLETAMENTE errado. Os operadores de acesso se aplicam a qualquer caso, tanto faz acesso externo como acesso por heranca, pode testar. Eu acho que voce anda meio enferrujado. Alexandre N�brega Duarte P�s-Gradua��o em Inform�tica Departamento de Sistemas e Computa��o Universidade Federal da Para�ba > > From: "Edson Tirelli" <[EMAIL PROTECTED]> > > Reply-To: [EMAIL PROTECTED] > > To: <[EMAIL PROTECTED]> > > Subject: RES: [java-list] Basico de OO em JAVA - CUIDADO > > Date: Thu, 5 Jul 2001 11:49:59 -0300 > > > > > > Amigos, > > > > Este assunto inclusive circulou aqui na lista a um tempo atras. Eh um > > erro comum q eu tambem cometia no inicio, mas eh importante exclarecer: os > > modificadores de acesso limitam o ACESSO EXTERNO aos atributos da classe, > > mas NAO LIMITAM A HERANCA. > > Isso quer dizer q se uma classe eh FILHA de outra, ela vai HERDAR TUDO > > da classe MAE, podendo eventualmente sobrescrever algumas coisas (por > > exemplo, o q NAO estiver definido como "final" na classe mae). > > Assim, no exemplo citado pelo colega: > > > > public class Mae { > > private int x; > > protected int y; > > } > > > > public class Filha extends Mae { > > // A FILHA HERDA O ATRIBUTO PRIVADO "X" E O ATRIBUTO PROTEGIDO "Y" > > public Filha() { > > x = 50; // PERFEITAMENTE CORRETO > > y = 100; // PERFEITAMENTE CORRETO > > } > > } > > > > Pra tentar exclarecer o modificador private, observe essa nova > > implementacao abaixo: > > > > public class Filha extends Mae { > > // A FILHA HERDA O ATRIBUTO PRIVADO "X" E O ATRIBUTO PROTEGIDO "Y" > > public Filha() { > > x = 50; // PERFEITAMENTE CORRETO > > y = 100; // PERFEITAMENTE CORRETO > > } > > > > public void m() { > > Mae amae = new Mae(); > > amae.x = 30; // ERRO DE COMPILACAO -> x eh atributo privado de > > Mae > > amae.y = 20; // CORRETO -> y eh atributo protegido de Mae > > > > this.x = 50; // CORRETO -> atributo x herdado > > this.y = 60; // CORRETO -> atributo y herdado > > } > > } > > > > Observe q a diferenca entre atributos privados e protegidos eh q os > > atributos protegidos permitem o ACESSO EXTERNO quando o objeto q estiver > > fazendo o acesso for de uma classe FILHA ou DO MESMO PACOTE q a classe q > > contem o atributo. > > > > Espero ter exclarecido, mais do que complicado... :) > > > > Abraco, > > Edson > > > > --- > > Edson Tirelli > > System Analyst > > Microsoft Certified Professional > > Sun Certified Programmer for Java 2 Platform > > try Automatos @ www.automatos.com > > > > > > > > -----Mensagem original----- > > De: Alexandre N�brega Duarte [mailto:[EMAIL PROTECTED]] > > Enviada em: quinta-feira, 5 de julho de 2001 08:10 > > Para: [EMAIL PROTECTED] > > Assunto: Re: [java-list] Basico de OO em JAVA > > > > > > Acho que o que voce quer fazer e isso. > > > > > > public class Mae { > > > > private int atributo; > > > > public Mae(){ > > > > } > > > > } > > > > > > public class Filha extends Mae { > > > > public Filha() { > > atributo = 0; > > } > > } > > > > Se for isso, eh impossivel, mas voce pode contornar este problema > > fazendo o > > atributo protected ao inves de private. Dessa forma ele continua a ser > > privado para quem esta de fora da classe mas fica publico para as classes > > filhas. > > > > > > > > public class Mae { > > > > protected int atributo; > > > > public Mae(){ > > > > } > > > > } > > > > Alexandre N�brega Duarte > > P�s-Gradua��o em Inform�tica > > Departamento de Sistemas e Computa��o > > Universidade Federal da Para�ba > > ----- Original Message ----- > > From: Fabio Ferreira > > To: [EMAIL PROTECTED] > > Sent: Wednesday, July 04, 2001 5:13 PM > > Subject: [java-list] Basico de OO em JAVA > > > > > > Como se "seta" um atributo (private) herdado da classe mae no > > construtor da > > classe filha ? > > > > Fabio Ferreira > > > > _________________________________________________________________________ > > Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com. > > > > > > ------------------------------ 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] > > ------------------------------------------------------------------------- > > > > > ------------------------------ 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] > ------------------------------------------------------------------------- > > ------------------------------ 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] ------------------------------------------------------------------------- ------------------------------ 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] -------------------------------------------------------------------------
