On 7/21/06,
Daniel Vainsencher <[EMAIL PROTECTED]> wrote:
--- Em zope-pt@yahoogrupos.com.br, "Luciano Ramalho" <[EMAIL PROTECTED]>
escreveu
>
> Daniel, talvez algum guru mais esperto que eu saiba te dar a
> solução, mas
> quero tentar te ajudar dando um toque sobre terminologia: quando se
> fala de
> pai e filho em OO isso pode ser ambíguo.
>
> A maioria das vezes, o pai é a super-classe e o filho é a
> sub-classe. Mas
> pode ser também que se trate de uma relação de composição: o pai é > um
> container e o filho é o objeto contido. No Zope2, com o mecanismo
> de
> aquisição, essa possível confusão fica ainda mais presente. Mas
> note que é
> fácil separar, desde que fique claro que herança é uma relação de
> pai-filho
> entre CLASSES, e aquisição é uma relação entre OBJETOS (instâncias
> de
> classes).
>
> Isto posto, no problema que você relata você fala de "objeto pai
> (Questão)".
> Mas se Questao é uma classe abstrata, então ela não tem instâncias
> por
> definição! Acho que você está confundindo os conceitos.
>
Corretíssima a observação. Do modo como escrevi está impreciso
e incorreto.
> Tente reformular a descrição do seu problema sendo mais preciso na
> distinção
Aí vai:
Classes:
- Questão - Classe abstrata e superclasse de MultiplaEscolha;
- MultiplaEscolha - Especialização de Questão, relação de
composição (contém) com Alternativa e,
em função da composição, também herda de
BaseFolder.
- Alternativa - Relação de composição (está contida) com
MultiplaEscolha
Para facilitar postei o código das classes em
http://paste.plone.org/6063 (Obrigado pela dica Jean)
A minha intenção era colocar alternativas (instâncias de Alternativa)
dentro de questões de multipla escolha (instâncias de MultiplaEscolha).
O que ocorreu foi que, embora a classe MultiplaEscolha de fato herde
de BaseFolder, não se comporta como uma pasta. Embora consiga forçar
a criação de alternativas acessando o método diretamente
http://localhost:8090/remo/questao1/createObject?type_name=Alternativa
as opções de adição de alternativa e listagem de conteúdo não aparecem
na interface do Plone. É como se MultiplaEscolha não fosse subclasse
de BaseFolder.
Consegui contornar provisoriamente forçando a herança entre a classe
abstrata Questao e BaseFolder. No entanto, esta modelagem não
representa corretamente o que pretendo expressar pois as outras
subclasses de Questao não são Pastas. (ex: Redacao, Dissertativa, etc)
Desculpem pela descrição descuidada anterior. Espero que tenha melhorado.
> entre as relações. Aposto que ao fazer esta reformulação você vai
encontrar
> sozinho a causa do problema!
>
Infelizmente ainda não. ;-)
Obrigado pelos toques.
[]s
Daniel
> [ ]s
> Luciano
>
>
> On 7/20/06, Daniel Vainsencher Maya Monteiro <[EMAIL PROTECTED]> wrote:
> >
> > Uma classe que herda de BaseFolder e de uma classe abstrata
> > que não é Folder parece não refletir o comportamento de um Folder.
> > Nossa! Que frase horrível! Trocando em miúdos:
> > Criei as classes:
> >
> > - Questao - classe abstrata não Folder,
> > - MultiplaEscolha - herda de Questao e é composta por alternativas
> > - Alternativa
> >
> > No entanto, Ao criar um objeto MultiplaEscolha as opções de
> > adição de conteúdo referem-se à pasta pai de MultiplaEscolha:
> >
> > O que ocorre:
> > - Alternativa não está disponível para adição, apenas os Tipos
> > Permitidos na pasta pai
> > - Ao forçar a criação da Alternativa com
> >
http://localhost:8090/remo/questao1/createObject?type_name=Alternativa
> > consigo criar Alternativas sem erros;
> > - O ícone do Tipo MultiplaEscolha é igual ao da Pasta o que
> > indica que é de fato uma pasta
> > - Não aparece a action Conteúdo, comum a todas as pastas
> >
> > Parece que as verificações para adição são feitas sobre o objeto pai
> > (Questao) o que não paree correto num ambiente com herança múltipla.
> >
> > O que acham? (Se é que me fiz entender ;-) )
> >
> > []s
> > Daniel
> >
> >
>
--
Juracy Filho __._,_.___
Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
Yahoo! Grupos, um serviço oferecido por: | |
|
Links do Yahoo! Grupos
- Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/zope-pt/
- Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
- O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!.