Re: [SouJava-J] Construtores em Java

1999-11-29 Por tôpico Frederico Charle S. Faria
Fabio Ramon wrote: > Frederico, > > Eu concordo com o Einar. Mesmo no livro do Gamma, ele somente usa este artificio >quando se trata de obter instancias de objetos que implementam uma > interface (classe abstrata). Nesse caso me parece mais natural voce usar isso, uma >vez que nao existe o c

Re: [SouJava-J] Construtores em Java

1999-11-29 Por tôpico Fabio Ramon
Frederico, Eu concordo com o Einar. Mesmo no livro do Gamma, ele somente usa este artificio quando se trata de obter instancias de objetos que implementam uma interface (classe abstrata). Nesse caso me parece mais natural voce usar isso, uma vez que nao existe o construtor (e voce nem sabe qual

Re: [SouJava-J] Construtores em Java

1999-11-29 Por tôpico Frederico Charle S. Faria
Einar Saukas wrote: > "Frederico Charle S. Faria" wrote: > > > > Einar Saukas wrote: > > > > > > Essa discussão está bem legal, mas de qualquer forma o problema > > > original continua em aberto: como fazer para instanciar uma classe, > > > repassá-la para o construtor da classe base e

Re: [SouJava-J] Construtores em Java

1999-11-29 Por tôpico Fabio Ramon
Einar, Não sei se alguem ja sugeriu isso, mas tem uma solucao que permite continuar invocando o construtor de sua classe sem parametros e inicializa a instancia interna. O unico problema dessa solucao e' que provavelmente nao e' thread-safe, embora tentei ao maximo tomar este cuidade com um lock

Re: [SouJava-J] Construtores em Java

1999-11-25 Por tôpico Einar Saukas
Eduardo Issao Ito wrote: > > Einar Saukas wrote: > > > > class MessageOutputStream extends ObjectOutputStream { > > private ByteArrayOutputStream _bos; > > MessageOutputStream() throws java.io.IOException { > > super(_bos = new ByteArrayOutputStream()); // ERRO! > > } > > } > > > >

Re: [SouJava-J] Construtores em Java

1999-11-25 Por tôpico Einar Saukas
"Frederico Charle S. Faria" wrote: > > Einar Saukas wrote: > > > > Essa discussão está bem legal, mas de qualquer forma o problema > > original continua em aberto: como fazer para instanciar uma classe, > > repassá-la para o construtor da classe base e depois ainda guardá-la > > numa var

Re: [SouJava-J] Construtores em Java

1999-11-25 Por tôpico Frederico Charle S. Faria
O problema original foi resolvido ? Abraços, Fred. "Frederico Charle S. Faria" wrote: > Einar Saukas wrote: > > > "Frederico Charle S. Faria" wrote: > > > > > > Einar Saukas wrote: > > > > > > > "Frederico Charle S. Faria" wrote: > > > > > > > > > > Agora o motivo porque os projetores de Java

Re: [SouJava-J] Construtores em Java

1999-11-25 Por tôpico Frederico Charle S. Faria
Einar Saukas wrote: > "Frederico Charle S. Faria" wrote: > > > > Einar Saukas wrote: > > > > > "Frederico Charle S. Faria" wrote: > > > > > > > > Agora o motivo porque os projetores de Java decidiram por isso - exigir o > > > > super() na primeira linha impossibilitando mesmo a utilização de v

Re: [SouJava-J] Construtores em Java

1999-11-25 Por tôpico Einar Saukas
"Frederico Charle S. Faria" wrote: > > Einar Saukas wrote: > > > "Frederico Charle S. Faria" wrote: > > > > > > Agora o motivo porque os projetores de Java decidiram por isso - exigir o > > > super() na primeira linha impossibilitando mesmo a utilização de variáveis > > > não membros - com cert

Re: [SouJava-J] Construtores em Java

1999-11-24 Por tôpico Frederico Charle S. Faria
Einar Saukas wrote: > "Frederico Charle S. Faria" wrote: > > > > Agora o motivo porque os projetores de Java decidiram por isso - exigir o > > super() na primeira linha impossibilitando mesmo a utilização de variáveis > > não membros - com certeza foi devido a fatores de complexidade de > > im

Re: [SouJava-J] Construtores em Java

1999-11-24 Por tôpico Einar Saukas
"Frederico Charle S. Faria" wrote: > > Agora o motivo porque os projetores de Java decidiram por isso - exigir o > super() na primeira linha impossibilitando mesmo a utilização de variáveis > não membros - com certeza foi devido a fatores de complexidade de > implementação e performanca. ( da M

Re: [SouJava-J] Construtores em Java

1999-11-24 Por tôpico Frederico Charle S. Faria
Einar Saukas wrote: > Ricardo Muneo Kayo wrote: > > > > Vc jah tentou usar essa classe com a sua ultima implementacao(4a. do > > email)? Funcionou??? > > Sim, funcionou. > > > Pelo que eu entendi, vc quer fazer uma heranca multipla em JAVA, meio > > mascarado, nao eh??? Acho que nao vai

Re: [SouJava-J] Construtores em Java

1999-11-24 Por tôpico Einar Saukas
Eduardo Issao Ito wrote: > > O problema com essa solucao e' que se eu fizer > > x = new MessageOutputStream(); > > x.getBos() vai retornar um stream diferente ao que foi passado a super > classe de MessageOutputStream. Bem, o caso é que essa solução também não resolve o problema origin

Re: [SouJava-J] Construtores em Java

1999-11-24 Por tôpico Einar Saukas
Fabio Ramon wrote: > > Einar, > > Infelizmente eu tambem so' consigo imaginar a solucao que voce chamou de > pessima. Alias, se o atributo _bos pode > ser estático, talvez ele não precise ser atributo da classe e você pode > simplesmente o alocar: > > super(new ByteArrayOutputStream()); > > is

Re: [SouJava-J] Construtores em Java

1999-11-23 Por tôpico Handerson Ferreira Gomes
Sim, com certeza Ito... Pois x estará apontando um novo objeto criado pelo new, e não ao antigo MessageOutpuStream.. a referência aquele objeto já era. Estamos realmente com um problema difícil de resolver... Talvez possamos fazer algo como o próprio Java que passa algumas referências através de

Re: [SouJava-J] Construtores em Java

1999-11-23 Por tôpico Eduardo Issao Ito
O problema com essa solucao e' que se eu fizer x = new MessageOutputStream(); x.getBos() vai retornar um stream diferente ao que foi passado a super classe de MessageOutputStream. Handerson Ferreira Gomes wrote: > > Oi Einar, > > ainda não sei se compreendi bem o seu problema. Mas vamos lá!

Re: [SouJava-J] Construtores em Java

1999-11-23 Por tôpico Handerson Ferreira Gomes
Oi Einar, ainda não sei se compreendi bem o seu problema. Mas vamos lá! Quando você está implementando um método construtor e faz a chamada ao construtor da superclasse, utilizando super(), esta chamada deve ser feita antes de qualquer ação dentro do construtor. Isto é uma característica não só

Re: [SouJava-J] Construtores em Java

1999-11-23 Por tôpico Fabio Ramon
Einar, Infelizmente eu tambem so' consigo imaginar a solucao que voce chamou de pessima. Alias, se o atributo _bos pode ser estático, talvez ele não precise ser atributo da classe e você pode simplesmente o alocar: super(new ByteArrayOutputStream()); isso nao serve para voce ? Boa sorte, [

Re: [SouJava-J] Construtores em Java

1999-11-22 Por tôpico Einar Saukas
Ricardo Muneo Kayo wrote: > > Vc jah tentou usar essa classe com a sua ultima implementacao(4a. do > email)? Funcionou??? Sim, funcionou. > Pelo que eu entendi, vc quer fazer uma heranca multipla em JAVA, meio > mascarado, nao eh??? Acho que nao vai funcionar!!! Não, eu simple

Re: [SouJava-J] Construtores em Java

1999-11-22 Por tôpico Einar Saukas
Pablo Jorge Madril wrote: > > Por tanto, so mesmo a solucao da static. > O que nao entendi e porque consideras ela tao ruim. É ruim porque uma solução usando static não é thread-safe. Imagine, por exemplo, se dois threads tentarem instanciar essa classe ao mesmo tempo. As coisas não vão

Re: [SouJava-J] Construtores em Java

1999-11-22 Por tôpico Pablo Jorge Madril
ter que declarar uma static (ou equivalente) em algum lugar. Um abraco, Pablo. -Original Message- From: Einar Saukas <[EMAIL PROTECTED]> To: Pablo Jorge Madril <[EMAIL PROTECTED]> Cc: [EMAIL PROTECTED] <[EMAIL PROTECTED]> Date: Monday, November 22, 1999 3:56 PM Subje

Re: [SouJava-J] Construtores em Java

1999-11-22 Por tôpico Einar Saukas
Pablo Jorge Madril wrote: > > Oi, Einar Oi Pablo! > Sou iniciante em Java, mais vou usar meus conhecimentos de OO. > Sera que o problema e que voce esta passando uma referencia que e' privada > pra superclasse acessar? Não, a questão não é essa. O problema é não poder acessar

Re: [SouJava-J] Construtores em Java

1999-11-22 Por tôpico Pablo Jorge Madril
Oi, Einar Sou iniciante em Java, mais vou usar meus conhecimentos de OO. Sera que o problema e que voce esta pasando uma referencia que e' privada pra superclasse acessar? O Java tem protected? Se tiver, tenta usar no lugar do private. Seria algo assim : class MessageOutputStream extends ObjectOu