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
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
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
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
Eduardo Issao Ito wrote:
>
> Einar Saukas wrote:
> >
> > class MessageOutputStream extends ObjectOutputStream {
> > private ByteArrayOutputStream _bos;
> > MessageOutputStream() throws java.io.IOException {
> > super(_bos = new ByteArrayOutputStream()); // ERRO!
> > }
> > }
> >
> >
"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
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
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
"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
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
"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
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
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
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
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
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á!
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ó
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,
[
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
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
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
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
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
23 matches
Mail list logo