Discussione sull’articolo "Le Basi della Programmazione Orientata agli Oggetti"

 

Il nuovo articolo Le Basi della Programmazione Orientata agli Oggetti è stato pubblicato:

Non hai bisogno di sapere cosa sono il polimorfismo, l'incapsulamento, ecc. per usare la programmazione orientata agli oggetti (OOP) ... puoi semplicemente usare queste funzionalità. Questo articolo descrive le basi dell'OOP attraverso degli esempi pratici.

Autore: Dmitry Fedoseev

 

Perché i codici non passano attraverso lo styler?

Per un nuovo arrivato sarà difficile leggere, perché vede uno stile in ME e un altro nell'articolo.

ZY L'articolo non rivela i problemi di connessione tra le classi.

In generale, ovviamente, l'OOP è un argomento complesso, non è facile descriverlo con un linguaggio semplice, ma bisogna pur iniziare da qualche parte.

 

L'articolo mi è piaciuto, grazie all'autore.

Ma il codice è illeggibile - sono d'accordo con chi mi ha preceduto.

 
Urain:

1. Perché i codici non passano attraverso lo styler?

Sarà problematico per un principiante leggere, in ME, uno stile e nell'articolo un altro.

2. ZY L'articolo non rivela i problemi di comunicazione tra le classi.

In generale, ovviamente, l'OOP è un argomento complesso, non è facile descriverlo con un linguaggio semplice, ma bisogna pur iniziare da qualche parte.


1. perplesso. Sembra che l'abbia eseguito. Decisamente!

Eccolo qui:

~CName(){ Alert("Distruttore"+IntegerToString(m_arg)); }
void Sleep()  { Sleep(3000); }

Non è affatto il mio stile (parentesi graffe su una riga).

2. Chiarire, non è chiaro, qual è il collegamento?

 

A quanto pare la domanda è più per gli sviluppatori.

Citazione:La differenza è che le strutture di dati possono includere solo variabili.

In C++, una struttura è definita come una classe, i cui membri sono tutti aperti.

Nell'attuale versione di MQL5 - 555 è possibile utilizzare un metodo membro in una struttura.

Si tratta di un'omissione della versione attuale e si prevede di consentire l'uso di soli membri di dati in futuro?

 
Integer:
...

2. Chiarire, non è chiaro cosa sia l'associazione?

Associazione e altri modi di collegare le classi.

 
Urain:

Associazione e altri modi di collegare le classi.

Non capisco."Usare l'OOP per cambiare la logica di un programma" non è così?

O avvolgere diverse classi in un'unica classe? - C'è qualcosa che non mi convince, ovvero la possibilità di dichiarare puntatori ad altre classi all'interno di una classe.

 
Dima_S:

A quanto pare la domanda è più per gli sviluppatori.

Citazione:La differenza è che le strutture di dati possono includere solo variabili.

In C++, una struttura è definita come una classe, i cui membri sono tutti aperti.

Nell'attuale versione di MQL5 - 555 è possibile utilizzare un metodo membro in una struttura.

Si tratta di un'omissione della versione attuale e si prevede di consentire l'uso di soli membri di dati in futuro?


È possibile scrivere funzioni in una struttura? Probabilmente i puntatori alla classe - visti, provati, è meglio non saperlo.
 
Integer:
Si possono scrivere funzioni in una struttura?
È possibile.
 
Dima_S:

A quanto pare la domanda è più per gli sviluppatori.

Citazione:La differenza è che le strutture di dati possono includere solo variabili.

In C++, una struttura è definita come una classe, i cui membri sono tutti aperti.

Nell'attuale versione di MQL5 - 555 è possibile utilizzare un metodo membro in una struttura.

Si tratta di un'omissione della versione attuale e si prevede di consentire l'uso di soli membri di dati in futuro?


Aprite la guida sulle strutture e leggete anche la conversione dei tipi, a proposito delle strutture.

I membri del metodo erano disponibili fin dall'inizio. Perché si vuole rimuoverli?

 
Integer:

1) Non capisco. "Usare l'OOP per cambiare la logica di un programma" non è così?

2) O avvolgere diverse classi in un'unica classe? - C'è qualcosa che riguarda il fatto che si possono dichiarare puntatori ad altre classi in una classe.

1 No, non lo è, è l'uso dell'ereditarietà.

2 è il warmer, è Composition, che è una delle tre opzioni di binding, insieme ad Association e Aggregation.

A proposito, sono sorpreso che questi paradigmi fondamentali non siano trattati nella descrizione dell'OOP nella guida.