JSams,
 
Membros protected de uma classe XYZ podem ser HERDADOS por outras classes de OUTROS PACOTES, desde que a classe XYZ seja qualificada como public.
 
 
Membros protected de uma Classe XYZ podem ser ACESSADOS por outras classes NÃO HERDEIRAS da classe XYZ, desde que essas classes sejam do mesmo pacote da classe XYZ, independente se a classe XYZ foi qualificada como public ou não.
 
Esta é uma diferença para o C++, aonde membros protected só podem ser acessados classes herdeiras.
 
 
Do pouquinho que eu sei de C++:
Numa classe XIS o qualificador  friend  permite que uma função ou classe tenha acesso A TODOS os membros dessa classe XIS. Mas essa qualificação é nominal e intransferivel, isto é, na classe XIS  vc. qualifica quais funções ou classes terão acesso ao seus membros (privados ou não).
 
Exemplo:
 
class XIS {
       friend class COISA;
.....
}
 
Indica que a classe COISA terá acesso irrestrito dentro de XIS.
 
A qualificação friend não é herdavel, isto é, filhos de COISA não terão acesso dentro de XIS, a não ser que XIS declare seus filhos "friends" também.
 
A qualificação friend não é transitiva, isto é, os "friends" de COISA não serão "friends" de XIS.
 
 
Dentro disso chego a conclusão que protected do Java e o friend do C++ não têm comportamentos semelhantes, já que o protected do Java tem menos restrições.
 
Roberto Tatemoto
 
 
----- Original Message -----
From: JSams
Sent: Sunday, November 03, 2002 6:36 PM
Subject: Re: [java-list] Criar Pacotes

Elvis... beleza?
 
    Classe protected não sei se dá...
    Agora membros da classe (atributo ou método) que são protected, pode sem herdados pela classe-filha e que seja do mesmo pacote da classe-pai.
 
    Agora uma classe protected... eu nao sei como seria... talvez uma inner class né possa ter essa característica?
 
    aí nao sei, talvez o pessoal da lista nos ajude.
 
    mas valeu. Quanto ao friendly, é uma keyword em C++ que nao sei bem qual a função dela...
 
    falowwww
 
JSams
----- Original Message -----
From: Elvis
Sent: Sunday, October 27, 2002 1:08 PM
Subject: Re: [java-list] Criar Pacotes

JSams
 
tem 3 anos q aprendi a programar, e com Java (Sorte a minha), não sei nem como é q faz um Helo no C/C++
 
Tinha um professor q gostava muito dessa palavra (friendly).
 
Na verdade eu nuca criei uma classe protected...
 
alguem já criou classe protected??
 
saberia diser se a funcionalidade dela simularia uma classe friendly???
(acho q sim)
 
[]'s
Elvis
 
 
 
----- Original Message -----
From: JSams
Sent: Thursday, October 24, 2002 4:57 PM
Subject: Re: [java-list] Criar Pacotes

valeu, eu consegui.
realmente nao precisei do classpath, foi só fazer isso:  c:\Sam\Cod\JAVA\Classes\javac gui\Win.java
e  depois c:\Sam\Cod\JAVA\Classes\javac test\TestWin.java
 
e para rodar:
 
c:\Sam\Cod\JAVA\Classes\java test.TestWin
 
deu certinho. : )
: )
 
valeu
 
faloww
 
JSams
 
P.S.: friendly? hehehe, vc já programou em C++ né? Classes "Amigas"... C/C++ é massa.
        e q interessante, então friendly é similar ao protected do JAVA?
----- Original Message -----
From: Elvis
Sent: Thursday, October 24, 2002 12:13 PM
Subject: Re: [java-list] Criar Pacotes

JSams,
 
Téoricamente está tudo certo com o seu código
 
tente verificar o nome do arquivo se e exatamente o nome da classe..
verifique se as classes são publicas (se a classe tiver o modificador de acesso como friendly eu não consigo acessa-la de outro pacote)
tente colocar um ;. no classpath (na verdade nem precisava do classpath)
    c:\Sam\Cod\JAVA\Classes\javac -classpath c:\Sam\Cod\JAVA\Classes;. gui\Win.java
tente tirar o classpath
    c:\Sam\Cod\JAVA\Classes\javac gui\Win.java
 
Alguns Jdk vc tem q compilar o pacote q vc faz referencia primeiro
 
Se não funcionar, mande o código para q possa dar uma olhada melhor
 
Espero ter ajudado
 
[]'s
 
Elvis
 
 
----- Original Message -----
From: JSams
To: SouJAVA
Sent: Wednesday, October 23, 2002 5:17 PM
Subject: [java-list] Criar Pacotes

Olá pessoal, Boa noite.
 
Tenho a seguinte hierarquia de diretorio
 
c:\Sam\Cod\JAVA\Classes\gui\Win.java (constroi a interface)
c:\Sam\Cod\JAVA\Classes\test\TestWin.java (testa a interface - main)
 
trecho do codigo do Win.java:
 
package gui;
 
...
 
 
trecho do codigo TestWin.java:
 
package test;
 
import gui.Win;
 
...
 
 
o arquivo TestWin.java dá erro de que nao reconhece o pacote gui.Win e aí nao compila.
 
como resolvo? como é o comando em prompt do ms-dos para gerar um pacote? nao é por exemplo:
 
 
c:\Sam\Cod\JAVA\Classes\javac -classpath c:\Sam\Cod\JAVA\Classes gui\Win.java
 
e nao preciso gerar um pacote tambem para o TestWin.java pois estou importando o gui.Win, nao é?
 
bem... espero ter sido claro.
 
té mais,
 
JSams.

Responder a