Programmazione orientata agli oggetti: Che cos’è un oggetto
Al giorno d’oggi, l’object-Orientation è sempre più diffuso in ambito software engineering e nei linguaggi di programmazione, perchè espone una metodologia che permette di affrontare il problema da risolvere con un approccio verso la realtà, iniziando dall’osservazione degli oggetti reali, strutturando il problema in oggetti, che sono componenti elementari, entità rilevanti che descrivono il problema, e identificando per ogni entità proprietà e relazioni.
E’ possibile definire l’approccio a oggetti secondo queste caratteristiche:
- gni cosa è un oggetto. L’oggetto pensato come variabile particolare: memorizza l’informazione, risponde alle richieste; ugli ggetti ossono ssere viluppate elle
- Un programma è un insieme i ggetti he nteragiscono con l’invio di Si può pensare all’invio di messaggi come esecuzioni di richieste attraverso le hiamate ai metodi dei vari oggetti coinvolti.
- Ogni oggetto ha la sua memoria , e può a sua volta essere composto da altri E’ possibile creare nuovi tipi di oggetti componendoli con oggetti esistenti.
- Ogni oggetto ha un tipo. Ogni oggetto è una istanza di una classe, la cui classe è sinonimo di tipo.
- Tutti gli oggetti di un particolare tipo possono ricevere la stessa richiesta. Un oggetto di tipo cerchio è anche un oggetto di tipo forma, pertanto tutti i messaggi per l’oggetto di tipo forma possono essere interpretati anche dall’oggetto di tipo cerchio.
L’oggetto viene definito attraverso lo stato, il comportamento e l’identificativo.
Lo stato è rappresentato dai valori degli attributi dell’oggetto, la cui manipolazione viene eseguita tramite i metodi (che ne definiscono il comportamento) gni ggetto uò essere distinto in modo univoco da tutti gli altri oggetti tramite un OID (Object Identifier).
Non tutte le entità vengono rappresentate come oggetti; possono essere utilizzati nche i valori che si autoidentificano e non hanno OID. Tutte le entità primitive (interi, caratteri, ecc.) ricadono all’interno di questo gruppo e sono appresentate a alori; e entità composte sono oggetti.
L’uguaglianza tra oggetti può presentare due situazioni diverse:
- guaglianza per identità, dove due oggetti sono identici se hanno lo stesso identificatore;
- uguaglianza per valore,se due oggetti hanno valori uguali per tutti gli
L’uguaglianza per identità implica l’uguaglianza per valore, ma non viceversa.
Se un oggetto, oltre a comprendere tipi primitivi include ulteriori oggetti, iene definito oggetto complesso. L’interfaccia stabilisce le richieste che possono essere fatte ad un particolare ggetto e comprende il codice necessario a soddisfarle, chiamata implementazione.