Ciao, qualcuno mi può dire nel dettaglio che differenza c'è tra un linguaggio di programmazione a oggetti e uno che non lo è?? So che Pascal e C, per esempio non sono a oggetti e che C++ e Python lo sono ma cosa cambia a livello pratico? Siccome so qualcosina di ogni linguaggio menzionato magari se mi fate qualche esempio se ritenete sia più semplice da capire...
Un linguaggio non orientato agli oggetti indi strutturato ( come il C ) si basa principalmente sulle funzioni che possono essere viste come l'astrazione delle "azioni" nel mondo reale mentre i linguaggi orientati agli oggetti ( c++ ) hanno come unità fondamentale le classi che non sono altro che l'astrazione degli "oggetti" reali e delle loro caratteristiche.
Detto in parole povere cambia il modo di pensare. C e C++ possono sembrarti molto simili, ma sono totalmente diversi; questo perchè è totalmente diverso il concetto che sta alla base del loro utilizzo nella programmazione.
C (e gli altri linguaggi strutturati, a partire da pascal) si basa sull'uso di dati predefiniti e tu non devi fare altro che scrivere funzioni che operino su tali dati (per rendere l'idea i dati predefiniti sono int, char, double, eccetera )
C++ (e gli altri linguaggi ad oggetti, come python e java) si basa invece sulla creazione di nuovi dati, a partire dai dati predefiniti. Questo avviene ovviamente utilizzando le classi (che diventeranno poi i file di intestazione *.h), che definiscono appunto un nuovo tipo con particolari caratteristiche, e le istanze di ogni classe si chiameranno oggetti (che sono in pratica delle variabili di tipo non predefinito).
La programmazione ad oggetti è più potente, più flessibile, più creativa, e i linguaggi object oriented sono molto più estensibili dei linguaggi strutturati, per i motivi sopra descritti )
He who is not bold enough to be stared at from across the abyss
is not bold enough to stare into it himself.
Inviato da Phoenix Detto in parole povere cambia il modo di pensare. C e C++ possono sembrarti molto simili, ma sono totalmente diversi; questo perchè è totalmente diverso il concetto che sta alla base del loro utilizzo nella programmazione.
C (e gli altri linguaggi strutturati, a partire da pascal) si basa sull'uso di dati predefiniti e tu non devi fare altro che scrivere funzioni che operino su tali dati (per rendere l'idea i dati predefiniti sono int, char, double, eccetera )
C++ (e gli altri linguaggi ad oggetti, come python e java) si basa invece sulla creazione di nuovi dati, a partire dai dati predefiniti. Questo avviene ovviamente utilizzando le classi (che diventeranno poi i file di intestazione *.h), che definiscono appunto un nuovo tipo con particolari caratteristiche, e le istanze di ogni classe si chiameranno oggetti (che sono in pratica delle variabili di tipo non predefinito).
La programmazione ad oggetti è più potente, più flessibile, più creativa, e i linguaggi object oriented sono molto più estensibili dei linguaggi strutturati, per i motivi sopra descritti )
Ho capito, si basa tutto su delle variabili di concezione diversa!