Sviluppatori B4X e altri linguaggi minori ....
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.
Sviluppatori B4X e altri linguaggi minori ....

Forum dedicato agli sviluppatori di B4X, PHP, Xamarin


Non sei connesso Connettiti o registrati

Ereditarietà vs Composizione

Andare in basso  Messaggio [Pagina 1 di 1]

1Ereditarietà vs Composizione Empty Ereditarietà vs Composizione Dom Giu 13, 2021 12:39 pm

mabotech

mabotech
Moderatore
Moderatore

Come probabilmente saprete, "E+e+r+e++l" (ho dovuto scriverlo così, perché altrimenti il forum lo sostituisce automaticamente con **Dittatore** Ereditarietà vs Composizione 1f601 ) 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 Laughing ) 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?

Torna in alto  Messaggio [Pagina 1 di 1]

Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.