Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

[VB] Simulare l'ereditarietà nelle classi

Il forum per tutti i developer. Leggere attentamente il regolamento di sezione prima di postare.

[VB] Simulare l'ereditarietà nelle classi

Messaggioda DilanDog » lun mag 29, 2006 10:12 am

Ho sempre sentito parlare della mancanza dell'ereditarietà nelle classi in VB6 ma avendole sempre usate marginalmente non mi sono mai scontrato con questo limite. Ora invece, essendomi addentrato un po' di più nello studio della programmazione ad oggetti e ritrovandomi alle prese con il restauro di una vecchia applicazione VB in cui erano state utilizzate marginalmente alcune classi, il non poter ereditare proprietà e metodi di una seconda classe derivata diventa effettivamente un grosso limite [cry+]

In sostanza vorrei una classe X che facesse da collezione di classi y al posto dell'attuale semplice collection, per poterne intercettare i metodi Add, Remove ecc.
Non c'è proprio modo di simulare questa cosa tramite VB? Devo replicare nella classe madre tutte le intestazioni dei metodi e delle propertà di quella figlia e farglieli richiamare? [cry]
Avatar utente
DilanDog
Senior Member
Senior Member
 
Messaggi: 208
Iscritto il: ven apr 15, 2005 9:13 am
Località: Milano

Re: [VB] Simulare l'ereditarietà nelle classi

Messaggioda Silver Black » mar mag 30, 2006 4:44 pm

DilanDog ha scritto:Non c'è proprio modo di simulare questa cosa tramite VB? Devo replicare nella classe madre tutte le intestazioni dei metodi e delle propertà di quella figlia e farglieli richiamare? [cry]


E' possibile tramite l'ereditarietà per delega, l'unica possibile per VB. Ma è una vera schifezza...

Comunque se proprio ti serve, eccoti un esempio di codice:
http://www.freevbcode.com/ShowCode.asp?ID=2970

E un articolo che ne parla (criticandola, in bene e in male), che ti sarà utile a comprenderne il funzionamento:
http://users.skynet.be/wvdd2/General_techniques/Inheritance/inheritance.html

Ecco un altro articolo che la spiega, riassumendo in soldoni:
http://www.lhotka.net/Articles.aspx?id=5f76a91c-5a75-49e1-9379-6d2807653b68

Nota che sempre di workaround si tratta, non è nè eleganza nè OOP. In altre parole: l'ereditarietà per delega di VB è un accrocchio, una pezza.
E adesso, non ho che da augurarti buon lavoro! [:-D]
Sergio Pappalardo aka Silver Black
CyberInstaller - www.silvercybertech.com - http://silvercybertech-labs.com/cyberblog
Avatar utente
Silver Black
Silver Member
Silver Member
 
Messaggi: 1147
Iscritto il: gio gen 06, 2005 8:50 pm
Località: Bassano del Grappa (VI)

Re: [VB] Simulare l'ereditarietà nelle classi

Messaggioda DilanDog » gio giu 01, 2006 10:03 am

Silver Black ha scritto:E' possibile tramite l'ereditarietà per delega, l'unica possibile per VB. Ma è una vera schifezza...
....
Nota che sempre di workaround si tratta, non è nè eleganza nè OOP. In altre parole: l'ereditarietà per delega di VB è un accrocchio, una pezza.


In questi due giorni mi sono informato anch'io ed in poche ore ho scoperto tutto, o quasi, di quello che c'era da sapere sugli accrocchi per la gestione dell'ereditarietà del VB. Come sempre e come per tante altre cose la parola d'ordine in VB è "accrocchio", ovvero il fine giustifica i mezzi. In questo caso non potevo fare altrimenti perché l'applicazione era già scritta, dovevo metterci le mani e mi sono ritrovato una serie di classi utilizzate come fossero dei semplici moduli, con tutte le variabili pubbliche e praticamente senza nessun tipo di incapsulazione...insomma, un gran casino da recuperare in qualche modo [cry]

Diciamo che anche questo sguardo più approfondito alla gestione delle classi in VB sottolinea quello che non perdo e quello che, spero, troverò utilizzando Delphi....sempre che tra un accrocchio e l'altro riesca a trovatre il tempo per imparare ad usarlo [:-D]


Silver Black ha scritto:E adesso, non ho che da augurarti buon lavoro! [:-D]


Grazie, troppo gentile [cry+] [sedia]
Avatar utente
DilanDog
Senior Member
Senior Member
 
Messaggi: 208
Iscritto il: ven apr 15, 2005 9:13 am
Località: Milano


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising