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 -----
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 -----
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 -----
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 -----
Sent: Thursday, October 24, 2002
12:13 PM
Subject: Re: [java-list] Criar
Pacotes
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 -----
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.