Domande da un "manichino" - pagina 128

 
mql5:
Non lo dimenticheremo ;)
È meglio sostituire il sovraccarico dell'operatore con l'ereditarietà multipla. Sarebbe molto più utile.
 
TheXpert:
Invece di sovraccaricare gli operatori, è meglio avere un'ereditarietà multipla. Sarebbe molto più utile.
Sfortunatamente, questo non è previsto. Al momento stiamo solo considerando la possibilità di ereditare classi da strutture.
 
TheXpert:
Faresti meglio a implementare l'ereditarietà multipla invece di sovraccaricare l'operatore. Sarebbe molto più utile.

Ben scritto - fallo accadere :) Questo è esattamente ciò che fa l'eredità multipla.

Una settimana fa ho partecipato a una discussione "eredità multipla vs. aggregazione" e l'aggregazione ha ottenuto una vittoria convincente.

 
Vladix:

Ho partecipato alla discussione "eredità multipla vs. aggregazione" una settimana fa, e l'aggregazione ha ottenuto una vittoria convincente

Beh sì, scrivere un chilometro di codice wrapper per ogni classe di implementazione è molto meglio e più efficiente. E anche molto più veloce.

Soprattutto se le interfacce sono una decina.

Ma lanciami il link, lo studierò a mio piacimento.

 
mql5:
Sfortunatamente, questo non è previsto. Al momento stiamo solo considerando la possibilità di ereditare classi da strutture.

E i puntatori alle strutture sarebbero molto utili, e non è necessario renderle (strutture) dinamiche - la cosa principale è che si può ordinare l'array di indici invece delle strutture stesse.

// In molti casi, non è desiderabile sostituire le strutture con le classi. Sono economici (nessuna tabella di metodo virtuale) e contengono dati "solidi".

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
TheXpert:

Sì, è molto meglio e più efficiente scrivere un chilometro di codice wrapper per ogni classe di implementazione.

Ma lancia il link, lo studierò a mio piacimento.

Riguardo al wrapper - sono d'accordo, ma il più delle volte agisce anche come frontend o adattatore, cioè modifica l'interfaccia della classe aggregata.

Non posso darvi il link, era una discussione interna su Skype con una trentina di persone interessate.

 
Vladix:

Riguardo al wrapper - sono d'accordo, ma il più delle volte agisce anche come frontend o adattatore, cioè modifica l'interfaccia della classe che viene aggregata.

Dipende da come la si guarda. Si potrebbe dire che l'aggregazione in questo caso è una stampella, perché l'eredità multipla è molto più trasparente e conveniente dal punto di vista logico e di codifica.

Posso darvi un esempio di come la vostra azienda gestisce le gerarchie a losanghe?

 
TheXpert:

Dipende da come la si guarda. Si potrebbe dire che l'aggregazione è una stampella in questo caso, perché l'eredità multipla è molto più trasparente e conveniente sia a livello logico che di codifica.

Può fare un esempio di come la sua azienda gestisce le gerarchie a losanghe?

Le gerarchie sono, se non mi sbaglio, solo un prodotto dell'uso dell'ereditarietà multipla.

Puoi dare qualche esempio di vita reale in cui hai incontrato la necessità di costruire e implementare gerarchie a losanghe?

 
Vladix:

Le gerarchie romboidali sono, se non mi sbaglio, solo un prodotto dell'uso dell'ereditarietà multipla.

Puoi fare qualche esempio nella tua vita in cui hai incontrato la necessità di costruire e implementare gerarchie romboidali?

Una persona ha un braccio, una gamba e ogni sorta di organi, sono costruiti da cellule che sono costruite da atomi, l'insieme degli atomi è finito ma i loro insiemi sono enormi.

tutti gli organi hanno scopi diversi, ma tutti insieme sono esseri umani. Le persone sono diverse e possono avere professioni diverse ecc.

Quelli che abbiamo iniziato con un insieme da cui si eredita una cellula, quelli convergono in una classe, poi divergono di nuovo in organi e convergono di nuovo in una classe di umani, e divergono di nuovo in professioni.

 
Vladix:

Le gerarchie romboidali sono, se non mi sbaglio, solo un prodotto dell'uso dell'ereditarietà multipla.

No, è un prodotto di design. Non dipende dall'uso di strumenti linguistici.

Puoi dare qualche esempio di vita reale di quando hai avuto bisogno di costruire e implementare gerarchie a forma di diamante?

All'inizio no, ma l'ho usato più di una volta. E praticamente senza alcuna scelta.

Se me lo chiedete, scrivere i wrapper delle stampelle è di per sé un argomento pesante.