Una domanda per gli esperti di OOP. - pagina 7

 
Questo è tutto, vado a imparare l'OOP. Risponderò a tutti quando torno).
 
Nikolai Semko:

Non risparmiare 45 minuti, Peter. All'inizio, è molto importante capire di cosa sta parlando questo tizio. Molti probabilmente discuteranno con lui, ma in generale ha ragione:


Una conferenza interessante, ma rimangono troppe domande. Lui parla dell'effetto dannoso dei setter e dei getter, ma spiegami, qual è la differenza, se introduco errori nei setter o nel costruttore? Quindi si scopre che SB MQL5 è solo un grande errore? Ci sono un sacco di tutti questi setter e getter, vero?

 
Alexey Viktorov:

Conferenza interessante, ma rimangono troppe domande. Qui sta parlando del danno dei setter e dei getter, ma per favore spiegatemi, qual è la differenza, dove si fanno errori, quando si inseriscono dei valori attraverso i setter o nel costruttore? Quindi si scopre che SB MQL5 è solo un grande errore? Ci sono un sacco di tutti questi setter e getter, vero?

ha anche guardato questi 45 minuti ieri.... Beh, è come se anche gli studenti avessero fatto a pezzi l'autore.

La teoria lo dice bene: ecco l'oggetto, deve essere in grado di fare tutto - e non deve essere legato all'hardware perché sei tu che comandi il PC, non tu! Se l'oggetto non sa fare qualcosa, scriviamo un'altra piccola classe, in pratica questo non è il caso - se si rifiuta di controllare un oggetto, ci saranno blocchi di codice ripetitivo, l'ereditarietà risolverà parzialmente questo problema, ma in generale, invece di risolvere il problema, il programmatore ottiene un mucchio di oggetti (o una montagna di dolore? )))) e dovrà capire come gestire il tutto ...... imho, se i giganti IT hanno scritto codice simile nella logica, funziona, e gli innovatori, beh, sono sempre stati e saranno, ma i loro risultati, per qualche motivo, non sono visibili.

SZS: come cambiare il colore del pulsante? - uccidere l'oggetto precedente e creare un nuovo pulsante di colore diverso? - e come si ottiene lo status di pulsante? - e se è uno schema di colori di centinaia di pulsanti - ucciderli tutti di nuovo e crearne altri? ;)

 
Igor Makanu:

ha anche guardato questo 45 minuti ieri.... beh, è come se anche gli studenti avessero distrutto l'autore

La teoria lo dice bene: ecco l'oggetto, deve poter fare tutto - e tutto questo non deve essere legato all'hardware perché voi comandate il PC, non il PC comanda voi! Se l'oggetto non sa fare qualcosa, scriviamo un'altra piccola classe, in pratica questo non è il caso - se si rifiuta di controllare un oggetto, ci saranno blocchi di codice ripetitivo, l'ereditarietà risolverà parzialmente questo problema, ma in generale, invece di risolvere il problema, il programmatore ottiene un mucchio di oggetti (o una montagna di dolore? )))) e dovrà capire come gestire il tutto ...... imho, se i giganti IT hanno scritto codice simile nella logica, funziona, e gli innovatori, beh, sono sempre stati e saranno, ma i loro risultati, per qualche motivo, non sono visibili.

SZS: come cambiare il colore del pulsante? - uccidere l'oggetto precedente e creare un nuovo pulsante di colore diverso? - e come si ottiene lo status di pulsante? - e se è uno schema di colori di centinaia di pulsanti - ucciderli tutti di nuovo e crearne altri? ;)

La cosa divertente è che anche l'applicazioneinconsapevole dei principi OOP porta a risultati abbastanza tangibili!

 
Alexey Viktorov:

Conferenza interessante, ma rimangono troppe domande. Qui sta parlando del danno dei setter e dei getter, ma per favore spiegatemi, qual è la differenza, dove si fanno errori, quando si inseriscono dei valori attraverso i setter o nel costruttore? Quindi si scopre che SB MQL5 è solo un grande errore? Ci sono un sacco di tutti questi setter e getter.

Gli sviluppatori hanno fatto tutto correttamente - la Libreria Standard è focalizzata sul livello base, e per la maggior parte dei compiti è abbastanza sufficiente. Per scrivere in OOP (e non solo destreggiarsi con i termini) occorre un livello avanzato e un certo tipo di pensiero. Se non ce l'avete, potete comunquetrasformare tutto in classi pensando che questo sia OOP. Probabilmente non può essere insegnato - la comprensione arriva con il tempo.

 
A100:

Se non lo avete, potete ancora avvolgere tutto in classi, pensando che questo sia OOP.

Ancora una volta stai cercando di mostrare la tua intelligenza, ma purtroppo non mostri i tuoi esempi, e ancora una volta stai cercando di inventare qualcosa per persone che non conosci, per dire, per...

imho, meschino, cattivo, che cerca di essere cattivo - in generale ))))

 
Igor Makanu:

Ancora una volta stai cercando di mostrare la tua intelligenza, ma purtroppo non mostri esempi di essa, e ancora una volta stai cercando di pensare a qualcosa per persone che non conosci, per dire, per...

imho, meschino, cattivo, che cerca di essere cattivo - in generale, non distrarsi ))))

Sto mostrando gli esempi sbagliati - dando così una canna da pesca, ma non un pesce.

 
A100:

Mostro esempi sbagliati - dando così una canna da pesca ma non un pesce.

Cosa c'è che non va? Gli esempi funzionano nel tester e nel trading

Ho scritto ripetutamente che se è conveniente, significa che può e deve essere usato

Implementare l'ereditarietà per strategie semplici, di cui ogni trader sui forum di Runet cerca di inventarne una decina ogni settimana, nella maggior parte dei casi non ha senso, mentre i miei esempi permettono di fornire una rapida portabilità del codice pronto.

Se hai una domanda o un suggerimento specifico, forse mi piacerebbe discuterne, se no, che senso ha discutere di qualcosa che non c'è?

 
Igor Makanu:

qual è l'errore? gli esempi funzionano sia in tester che in commercio

L'errore è dal punto di vista dell'OOP, non dal punto di vista del risultato finale. Se non capite qual è l'errore, guardate di nuovo il video, e poi ancora e ancora - fino a quando non lo capirete. È la prima volta che vedo questo video, ma non potrei spiegarlo in modo così semplice e comprensibile

 
A100:

Un errore in termini di OOP, non in termini di risultato finale. Se non capite qual è l'errore, guardate di nuovo il video, poi ancora e ancora - finché non arriva la comprensione

Ahimè, non sarà così, l'oratore non poteva nemmeno rispondere alle domande degli studenti, le domande erano valide.

Passiamo alle questioni pratiche.

Ho il sospetto che tu sostenga l'autore del video, il suo nome è Egor (è scritto così), il messaggio principale del video era di andare completamente in OOP - il vero OOP!

OK! dare un semplice esempio di come usare OOP come suggerito dall'autore, il compito è semplice, lui stesso ha menzionato il lavoro con i file e lui stesso non poteva rispondere alla domanda degli studenti

Uso la classe CFile abbastanza regolarmente - sono troppo pigro per scrivere codice extra e sono abituato a usare codice già pronto, risolve bene i miei problemi

Cosa in CFile, secondo te, dovrebbe essere riscritto in base a ciò che ha detto l'autore del video?

Motivazione: