Linuxtrent: Re: zope question

  • From: Lele Gaifax <lele@xxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxxxxxx
  • Date: Sat, 17 Feb 2001 11:55:24 +0100

>>>>> On Sat, 17 Feb 2001 07:43:17 +0100, Guido Brugnara <gdo@xxxxxxxxx> said:

    GB> A casa mia la propriet=E0 che descrivi si chiama VISIBILITA' ;
    GB> cosa c'ent= ra l'ereditariet=E0 come concetto applicabile ad
    GB> oggetti ?

Infatti, Azazel non ha parlato di "ereditarietà", se non come
paragone: quello a cui tu ti riferisci è quel meccanismo di
condivisione di dati e metodi in una gerarchia di "classi" di
oggetti. In Zope, essendo basato su un linguaggio ad oggetti, hai
questo meccanismo, un tantino più esteso ala C++ con il
multi-inheritance, con cui una Classe può derivare da più di un
"genitore", e quindi che so implementare una Classe "Persona" che
derivi sia da "OggettiPersistenti" che da "OggettiVisualizzabili": le
istanze di "Persona" saranno in grado perciò di rendersi persistenti
in qualche modo "salvandosi" su un supporto permanente, ed anche di
visualizzarsi in qualche maniera...

L'Acquisizione invece lavora a livello di istanza: seguendo l'esempio
di cui sopra, anche se non calza molto, puoi immaginare di poter
implementare le funzionalità anche a livello del contenitore, quindi
implementare il codice per visualizzare qc in "Vetrina", un
contenitore di altri oggetti: quando inserirò una istanza di "Persona"
dentro questa "Vetrina", l'oggetto persona "acquisisce" le
funzionalità della Vetrina. Come vedi, non si tratta di semplice
"visibilità", concetto un po' diluito in Zope, in quanto di fatto
"tutto" è visibile (regole di sicurezza a parte, of course).

E' più una sorta di "adattamento", in questo le ZClass sono molto più
civili di molti umani: `contenitore che vai, funzionalità che trovi'
;-) 

ciao, lele.
-- 
nickname: Lele Gaifax   | Quando vivro' di quello che ho pensato ieri
real: Emanuele Gaifas   | comincero' ad aver paura di chi mi copia.
email: lele@xxxxxxxxxx  |               -- Fortunato Depero, 1929.


-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con SOGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx


Other related posts: