sabato 20 settembre 2014

Anno scolastico 2014/2015 Programmazione ad Oggetti OOP Lezione 1

Programmazione ad oggetti: (OOP, Object Oriented Programming) 17/09/2014


Il concetto che sta alla base della programmazione ad oggetti è quello della classe. La classe è infatti il progetto dell'oggetto. 

Le classi definiscono dei tipi di dato e permettono la creazione degli oggetti secondo le caratteristiche definite nella classe stessa; il concetto alla base della classe è quello delle strutture visto l'anno scorso, la differenza che distingue una classe da una struttura è che all'interno della classe possono essere presenti anche delle funzioni. 

In particolare le variabili della classe vengono denominate proprietà o attributi, le funzioni invece metodi.

Da una classe può essere creato un oggetto (tecnicamente un oggetto è un istanza di una classe) il quale conterrà tutti gli attributi e i metodi definiti dalla classe.

*!* La Classe è il progetto di un Oggetto, un esempio di classe in C è la dichiarazione di variabile int

Lavorativamente parlando possiamo distingue due tipi di programmatori nell'ambito della OOP:
1 Programmatore che progetta l'oggetto (ricordiamo che 1 progetto = più oggetti)
1 Programmatore che utilizza l'oggetto tramite sua relativa interfaccia
da questo ne consegue che la prima cosa da imparare è come si utilizza l'interfaccia dell'oggetto di cui abbiamo bisogno.

Per fare un programma utilizzando la OOP abbiamo bisogno di un IDE (Integrated development environment) orientato ad oggetti, tra i più diffusi figurano:
JAVA
C#
C++
...
*!* Questi IDE non sono totalmente OOP in quanto non prevedono l'utilizzo di soli oggetti, in questo ambito solo il progetto Eiffel si può definire come totalmente orientato agli oggetti

*!* Framework: contenitore di oggetti creati per risolvere questioni specifiche.

Come si crea un oggetto?

Un oggetto a livello concettuale si dichiara come una variabile, nel dettaglio la Classe rappresenta il tipo dell'Oggetto.
Vediamo un esempio:
Supponiamo di voler creare una Classe Persona con all'interno due attributi nome, stipendio e una funzione f:

Class Persona
   {
       char nome[15];
       int stipendio;
       f();
   }Dipendente;

notiamo che è del tutto simile a una dichiarazione di una struttura (a parte per la presenza di una funzione al suo interno). Nel nostro esempio la Classe Persona è il progetto e la variabile Dipendente è l'oggetto; così facendo abbiamo creato una Classe Persona con due campi e istanziato l'oggetto Dipendente.

*!* Per accedere ai campi di un oggetto si utilizza (come per le strutture) la notazione puntata: Dipendente.nome

Nessun commento:

Posta un commento