L'Object Oriented (OOP) è un paradigma di programmazione che permette di definire oggetti software in grado di interagire
gli uni con gli altri attraverso lo scambio di messaggi.
La Data-Ware applica i principi della progettazione e programmazione Object Oriented avvalendosi delle tecniche e dei linguaggi di
modellizzazione più usati come l'UML.
Tra i principali vantaggi, la Programmazione Orientata agli Oggetti:
• fornisce un supporto naturale alla modellazione software degli oggetti del mondo reale o del modello astratto da riprodurre
• permette una più facile gestione e manutenzione di progetti di grandi dimensioni
• l'organizzazione del codice sotto forma di classi favorisce la modularità e il riuso di codice
Le classi, sono le unità funzionali della programmazione Object Oriented e costituiscono dei modelli astratti,
che a tempo di esecuzione vengono invocate per istanziare o creare oggetti software.
Questi ultimi sono dotati di attributi (dati) e metodi (procedure) secondo quanto definito/dichiarato dalle rispettive classi.
Un linguaggio di programmazione è definito ad oggetti quando permette di implementare tre meccanismi:
• incapsulamento: consiste nella separazione della cosiddetta interfaccia di una classe dalla corrispondente implementazione,
in modo che i client di un oggetto di quella classe possano utilizzare la prima, ma non la seconda.
• ereditarietà: permette essenzialmente di definire delle classi a partire da altre già definite.
• polimorfismo: consente di scrivere un client che può servirsi di oggetti di classi diverse, ma dotati di una stessa interfaccia comune;
a tempo di esecuzione, quel client attiverà comportamenti diversi senza conoscere a priori il tipo specifico dell'oggetto che gli viene passato.