• Non ci sono risultati.

PROGRAMMIAMOC++ - Classi e oggetti

N/A
N/A
Protected

Academic year: 2021

Condividi "PROGRAMMIAMOC++ - Classi e oggetti"

Copied!
2
0
0

Testo completo

(1)

Programmazione ad oggetti e programmazione "tradizionale"

La programmazione ad oggetti (o orientata agli oggetti, come si dice più precisamente) è un metodo o, se si preferisce, una filosofia di scrittura e organizzazione di un programma. In questo senso essa si contrappone alla programmazione tradizionale, detta anche procedurale.

La differenza è che nella programmazione procedurale si ragione in termini di sottoprogrammi (main e funzioni) e di dati, considerati come entità separate. I sottoprogrammi operano sui dati che vengono loro passati, ma non esiste nessun legame diretto fra una certa funzione e una certa struttura dati.

Viceversa la programmazione ad oggetti si basa appunto sul concetto di oggetto. Un oggetto, in C++, non è altro che l'istanza (cioè la dichiarazione) relativa a una data classe. Per esempio:

class orario { private:

int ora;

int min;

public:

void acquisisci();

void visualizza();

int minuti();

};

int main(int argc, char *argv[]) {

orario ora1, ora2;

Nel codice precedente, ora1 e ora2 sono due oggetti. Gli oggetti comprendono al proprio interno sia i dati (attributi) che le funzioni (metodi) per manipolarli.

E' facile confondere il concetto di classe e quello di oggetto, ma in realtà non sono la stessa cosa. La classe è il modello, lo "stampo" generale in base al quale vengono "creati" gli oggetti. Per esempio orario è la classe con cui vengono creati i due oggetti ora1 e ora2.

La figura seguente mostra in modo grafico la differenza fra i due tipi di programmazione:

PROGRAMMIAMO

C++ - Classi e oggetti

C++ |Home |Contatti

Programmiamo http://www.programmiamo.altervista.org/C/oop/o...

1 di 2 16/12/2014 09:08

(2)

Una delle prime cose che risulta abbastanza evidente dalla figura qui sopra, è la maggiore chiarezza e linearità del codice ad oggetti rispetto a quello procedurale. Si osservi ad esempio come nella programmazione procedurale i dati possono essere condivisi fra funzioni diversi e dallo stesso main senza nessuna regola o limitazione.

Non tutti i linguaggi di programmazione sono adatti alla programmazione ad oggetti. Per esempio il linguaggio C++

contiene le classi, a differenza del C, e dunque è particolarmente adatto a questo scopo.

precedente - successiva Sito realizzato in base al template offerto da

http://www.graphixmania.it

Segui

Segui @ElePrograMania@ElePrograMania

Programmiamo http://www.programmiamo.altervista.org/C/oop/o...

2 di 2 16/12/2014 09:08

Riferimenti

Documenti correlati

Sottoprogrammi: Programmazione Modulare >> Introduzione.. Mecca - Programmazione Procedurale in Linguaggio C++

Before submitting the source code to the actual compiler, the preprocessor remove comments, executes directives and expands macros in the source files.. GCC ordinarily leaves

L’istruzione return exp causa la terminazione dell’esecuzione della funzione e il valore di exp viene sostituito al posto della chiamata a funzione nell’espressione dove la

• E’ responsabilità del programmatore controllare che il numero ed il tipo degli argomenti passati ad una funzione corrisponda con quanto specificato nella dichiarazione della

• L’inserimento dei prototipi prima della definizione di una funzione, permette al compilatore, quando incontra la dichiarazione del prototipo di conoscere e controllare il numero

• L’inserimento dei prototipi prima della definizione di una funzione, permette al compilatore, quando incontra la dichiarazione del prototipo di conoscere e controllare il numero

la lista delle variabili usate dal sottoprogramma nella sua esecuzione; sono proprie del sottoprogramma e contengono i valori scambiati con il programma principale corrispondenti ai

Ma per fare una somma occorre accedere ai campi di due oggetti distinti (anche se della stessa classe complex) e questo non può essere fatto con un metodo interno a una