Una domanda per gli esperti di OOP. - pagina 26

 
Реter Konow:

Non sentite nulla, rifiutate i suggerimenti di leggere autori decenti, dicendo che voi avete esperienza, io so tutto.

Ho già scritto - legare tutti gli oggetti per ereditarietà è un grande errore che non si capisce subito. Ma se vuoi i tuoi dossi, beh, buona fortuna.

 
Vict:

Non si sente nulla, si rifiutano le offerte di leggere autori decenti, dicendo che si ha esperienza, so tutto.

Ho già scritto - legare tutti gli oggetti per ereditarietà è un grande errore che non si capisce subito. Ma se vuoi i tuoi dossi, beh, buona fortuna.

Scusa, sono solo all'inizio del mio viaggio).
 
Реter Konow:
Scusa, sono solo all'inizio del mio viaggio).
Sembra che l'inizio sia stato ritardato. In termini di tempo, è solo il tuo argomento su OOP, per capire che è una stronzata e iniziare a pensare pensierosamente all'architettura della soluzione. Meno lirismo e più pratica.
 
Реter Konow:
Lasciatemi spiegare. La linea di fondo è che OOP replica la distribuzione inconscia delle informazioni nella nostra memoria. Le informazioni sono "disposte" in modo a cascata e "ad albero". Questo è condizionato dall'archetipo inconscio (un meccanismo nascosto). La gente ha "sentito" questo meccanismo e ha cominciato ad applicarlo con successo nella programmazione. OOP implementa il trasferimento di proprietà e funzioni comuni attraverso catene di eredità, secondo lo stesso schema del nostro inconscio.


Con una migliore comprensione di come funzionano le nostre menti consce e inconsce, saremo in grado di replicare il loro meccanismo nel computer. Ho semplicemente fatto un passo indietro rispetto ai dettagli tecnici e ho guardato alla radice del concetto.

quando smetterai di fumare?

 
Реter Konow:

Ho pensato molto al concetto di OOP e questo è quanto:

... perché stiamo semplicemente copiando i nostri schemi inconsci nel lavorare con le informazioni.

Sì, Peter, tutto - ci sono emanazioni dell'Aquila.
Smettere di procrastinare.
Fallo e basta! Iniziare a codificare gli oggetti.


 
Nikolai Semko:

Sì, Peter, c'è tutto - le emanazioni dell'Aquila.
Smettere di procrastinare.
Fallo e basta! Iniziare a codificare gli oggetti.


Sì, in nome del costruttore, del distruttore e della santa eredità)).
 
Vladimir Simakov:
Sembra che l'inizio sia stato ritardato. È ora di convertire il soggetto a OOP, rendersi conto di ciò che abbiamo e iniziare a inventare ponderatamente l'architettura della soluzione. Meno lirismo e più pratica.

Anche il mio approccio è un OOP. Solo con una presentazione diversa e meno "obiettività" al momento. Ma l'essenza è la stessa.

1. l'incapsulamento nel kernel è presente.

2. Polimorfismo parziale. Cioè, il motore lavora con le finestre e gli elementi come tali, ma in ogni blocco c'è un inserimento di condizioni che definiscono il lavoro con specifici tipi di elementi.

3. Al momento non c'è ereditarietà delle proprietà degli oggetti, perché il nucleo grafico non fornisce una gerarchia. Tuttavia, questo può essere risolto.

Voglio creare una OOP "leggera" basata su kernel e motore, con sintassi minima, con rappresentazione digitale degli oggetti nel kernel, gerarchia completa, classificazione, ereditarietà di proprietà e funzioni. Cioè la stessa OOP, ma la mia.

 
Nikolai Semko:

Sì, Peter, tutto - ci sono emanazioni dell'Aquila.
Smettere di procrastinare.
Fallo e basta! Iniziare a codificare gli oggetti.


Nikolai, ho l'occhio sull'IA qui e l'OOP standard richiederà una vita per costruire una base minima di conoscenza. Il mio approccio funziona anche con gli oggetti, ma sono rappresentati in modo molto più conciso. Anche la loro funzionalità. Anche il mio approccio è OOP, solo che non è ancora completamente sviluppato. È risolvibile. Potete immaginare il vantaggio di una rappresentazione digitale degli oggetti? Si può continuare a moltiplicare e moltiplicare senza fermarsi. Non riferimenti a classi, non istanze di classi, ma oggetti completi descritti con tutte le proprietà possibili. Non puoi farlo facilmente con l'OOP standard.
 
Реter Konow:

Si è pensato molto al concetto di OOP, ed ecco cosa:

Astraiamo dalla sintassi e dai termini tecnici, lasciando i concetti di "classe", "oggetto", "proprietà", "incapsulamento", "polimorfismo", "ereditarietà". Descriverò la "radice" filosofica del concetto.

La realtà è percepita dalla coscienza attraverso i prismi di "Spazio", "Tempo" e "Materia" (è così che funzionano gli organi di senso), e "Oggetto" è un risultato discreto della loro continua interazione.

La diversità delle forme di interazione genera una diversità di oggetti che sono "piantati" dall'inconscio del soggetto su un certo "quadro". Questo quadro ha una struttura ramificata e a cascata ed è "costruito" nell'inconscio, essendo uno dei suoi "archetipi". Il framework assume nuovi e nuovi oggetti (informazioni su di essi) che sono distribuiti nella sua struttura. È da qui che viene il concetto di OOP.Si tratta di una distribuzione e legatura cosciente di oggetti che imita l'"algoritmo" dell'inconscio. Avendo padronanza dei metodi del proprio pensiero il soggetto è in grado di simulare il suo lavoro nel meccanismo di "tracciamento" del cervello - il computer. Anche se un computer è solo una patetica parodia di un cervello, ma l'uomo stesso percepisce solo ombre del mondo oggettivo. La cascata, archetipo ramificato, è un "modello" di distribuzione di oggetti, proprietà, processi e tutte le informazioni all'interno della nostra memoria in generale. È uno strumento biologico per semplificare la percezione della realtà, strutturando un modello del mondo che ci circonda. Ci è dato dalla Natura. La consapevolezza del nostro meccanismo "naturale" (cioè inconscio) di elaborazione delle informazioni è un livello di autoconsapevolezza necessario per usare l'OOP.

Considerate questo archetipo implicito, biologico, "ad albero" che facilita la memorizzazione, l'apprendimento e la percezione, nel contesto della sua applicazione "artificiale".In OOP, "produciamo" oggetti incapsulando le loro descrizioni in classi, dove stabiliamo le loro proprietà e valori. Le relazioni degli oggetti si riflettono nella loro classificazione, e sono implementate attraverso l'ereditarietà di proprietà e metodi da globali a privati. In pratica, è così: ogni oggetto privato è solo un oggetto e quindi ha tutte le proprietà di un semplice oggetto + le sue proprietà private. Gli oggetti derivati avranno le sue proprietà private come le loro proprietà comuni, ma avranno le loro proprietà private. Inoltre, la catena può ramificarsi indefinitamente. È lo stesso con i metodi degli oggetti. Un metodo riflette un'azione, un'interazione, un processo, un cambiamento di stati. I metodi degli oggetti sono distribuiti da generali a privati come le proprietà. Se c'è un processo generale, ogni forma discreta avrà le sue proprietà. E questo è il polimorfismo. Cioè, a differenza dell'overloading, il polimorfismo fornisce una diversa implementazione privata di una funzione sottostante pur mantenendo il suo meccanismo sottostante. Questa è l'eredità "funzionale".

Come possiamo vedere, "ad albero" in OOP è ovunque - non importa quali schemi si inventino, si otterrà comunque un "albero"). Ma anche questo è corretto, perché non facciamo altro che copiare i nostri schemi inconsci nel lavorare con le informazioni.

Hmm, stavo sfogliando Hubr oggi, per qualche ragione lo stile di presentazione è molto simile al tuo, o meglio la logica della convenienza di OOP:

Entrata 3

...

Ho passato 4-5 serate da Sharp. Leggete due capitoli del tutorial. Cosa posso dire? L'approccio accademico, basato sulla scrittura di programmi senza senso che fanno calcoli astratti, non mi ispira affatto. Non sono sicuro di poter essere orgoglioso di un'applicazione che calcola l'area di un triangolo.

....

Entrata 4

Primo ostacolo. Arrivati al concetto di classi e oggetti. Il concetto non è assolutamente chiaro. Come se l'idea in sé fosse chiara, ma come e per cosa applicarla? Creare classi per giocatore, casinò e roulette? Poi inventare oggetti in essi? E cosa faranno? È troppo tirata per le lunghe. Sembra qualcosa di innaturale e confonde solo il programma.

Mi è arrivato qualche giorno dopo. Stavo camminando con mio figlio al parco giochi e guardavo il mondo intorno a me con occhi orientati agli oggetti.

class Парк {string ПаркName;}, 

class Ребёнок {string РебёнокName; int РебёнокAge;} 

Ребёнок Дима = new Ребёнок ();

Ребёнок Саша = new Ребёнок ();


https://habr.com/ru/post/466641/
 
Igor Makanu:

Hmmm, stavo sfogliando Hubr oggi, per qualche motivo lo stile della narrazione è molto simile al tuo, o meglio la logica della convenienza di OOP:

Entrata 3.

...

Ho passato quattro o cinque serate su Sharp. Leggete due capitoli del tutorial. Cosa posso dire? L'approccio accademico, basato sulla scrittura di programmi senza senso che fanno calcoli astratti, non mi ispira affatto. Non sono sicuro di poter essere orgoglioso di un'applicazione che calcola l'area di un triangolo.

....

Entrata 4

Primo ostacolo. Arrivati al concetto di classi e oggetti. Il concetto non è assolutamente chiaro. Come se l'idea in sé fosse chiara, ma come e per cosa applicarla? Creare classi per giocatore, casinò e roulette? Poi inventare oggetti in essi? E cosa faranno? È troppo tirata per le lunghe. Sembra qualcosa di innaturale e confonde solo il programma.

Mi è arrivato qualche giorno dopo. Stavo camminando con mio figlio al parco giochi e guardavo il mondo intorno a me con occhi orientati agli oggetti.


https://habr.com/ru/post/466641/

Questa è una A!))

Motivazione: