Come probabilmente saprete, "E+e+r+e++l" (ho dovuto scriverlo così, perché altrimenti il forum lo sostituisce automaticamente con **Dittatore** ) ha categoricamente escluso di implementare l'Ereditarietà in B4X, sostenendo che uno strumento di sviluppo non è un'accozzaglia di roba (non l'ha detto così ma solo perché... non parla italiano ) e suggerisce di usare la cosiddetta "Composizione".
Effettivamente, cercando sul web, molte "voci" sostengono che questa sia perfino migliore dell'Ereditarietà, in quanto quest'ultima comporta problemini vari.
Ok, ma a me sembrano due cose totalmente diverse e non vedo come potrei implementare una certa cosetta, a cui accennerò tra pochissimo, usando la Composizione anziché l'Ereditarietà.
Ed ecco la cosetta.
Stavo pensando di "costruire" una "struttura" tipo questa:
clsGame - generica classe di gioco
clsCardGame - classe di gioco di carte, eredita da clsGame
clsCardGamePoker - classe di gioco del Poker, eredità da entrambe le preDecenti.
clsCardGameScopa - come clsCardGamePoker.
Ha un certo senso, no? Ora, un conto è usare l'Ereditarietà, cosa che ti viene quasi istintiva, altro è la Composizione in cui, se ho capito bene, nella classe clsCardCameScopa dovresti inserire (passare da fuori, magari nell'inizializzazione) un oggetto clsGame e uno clsCardGame. Quindi oggetti, istanze di quelle classi, cosa molto diversa dall'Ereditarietà.
E' come se in Android la classe EditText, che eredita da View e da non so cos'altro, a memoria, contenesse un'istanza di View, anziché derivarne.
Che ne pensate? Come si dovrebbe usare la Composizione nell'esempio dei giochi di carte di cui sopra?
Effettivamente, cercando sul web, molte "voci" sostengono che questa sia perfino migliore dell'Ereditarietà, in quanto quest'ultima comporta problemini vari.
Ok, ma a me sembrano due cose totalmente diverse e non vedo come potrei implementare una certa cosetta, a cui accennerò tra pochissimo, usando la Composizione anziché l'Ereditarietà.
Ed ecco la cosetta.
Stavo pensando di "costruire" una "struttura" tipo questa:
clsGame - generica classe di gioco
clsCardGame - classe di gioco di carte, eredita da clsGame
clsCardGamePoker - classe di gioco del Poker, eredità da entrambe le preDecenti.
clsCardGameScopa - come clsCardGamePoker.
Ha un certo senso, no? Ora, un conto è usare l'Ereditarietà, cosa che ti viene quasi istintiva, altro è la Composizione in cui, se ho capito bene, nella classe clsCardCameScopa dovresti inserire (passare da fuori, magari nell'inizializzazione) un oggetto clsGame e uno clsCardGame. Quindi oggetti, istanze di quelle classi, cosa molto diversa dall'Ereditarietà.
E' come se in Android la classe EditText, che eredita da View e da non so cos'altro, a memoria, contenesse un'istanza di View, anziché derivarne.
Che ne pensate? Come si dovrebbe usare la Composizione nell'esempio dei giochi di carte di cui sopra?