Programmazione OO, una definizione alternativa

 

La definizione di programmazione Object Oriented più diffusa è quella che si poggia su polimorfismo, ereditarietà e incapsulamento. Ha quel che di misterioso e intangibile che mi ha sempre affascinato e incuriosito.

Esiste anche un modo alternativo di definire programmazione Object Oriented che ha il fascino della praticità e del quotidiano

 

ed è la somma di tre stili di programmazione. 

Il primo è lo stile di programmazione modulare (conosciuto anche come principio di data hiding) in base al quale una struttura data e le procedure che la elaborano (stato e comportamento) formano un modulo dentro cui restano nascosti i dettagli implementativi.  (vedi sul wiki)

Il secondo è lo stile di programmazione dei tipi astratti che dà al modulo definito prima la dignità di "tipo" (una specie di cerimonia di incoronazione) e soprattutto introduce il concetto di istanza che sostituisce i meno pratici handle o hwnd tipici di Win32 che tentavano di imitarla :) .  (vedi sul wiki)

 il terzo è lo stile di programmazione ad oggetti dà al tipo definito prima la dignità di "classe" (dopo l'incoronazione, il trono) e soprattutto introduce il concetto di classe base che evidenzia le similitudini tra 2 classi mettendole in una classe base comune. (vedi nel wiki)

 

Aneddoto ironico, nella buona programmazione OO pratica l'ereditarietà (cioè la definizione di una classe base) viene usata raramente, più spesso si preferisce il contenimento

Tags :   |

Print | posted @ Friday, June 6, 2008 1:39 AM

Comments on this entry:

Gravatar # re: Programmazione OO, una definizione alternativa
by LudovicoVan at 6/7/2008 1:09 AM

> La definizione di programmazione Object Oriented più diffusa è quella che si poggia su polimorfismo, ereditarietà e incapsulamento.

Andrebbero nell'ordine inverso. Anzi, incapsulamento e' il concetto base. Ereditarieta' e poliformismo vengono solo nell'universo esteso di Stroustroup.

> Aneddoto ironico, nella buona programmazione OO pratica l'ereditarietà (cioè la definizione di una classe base) viene usata raramente, più spesso si preferisce il contenimento

Non e' ironico se consideri incapsulamento come concetto principale.

-LV
Gravatar # re: Programmazione OO, una definizione alternativa
by LudovicoVan at 6/8/2008 11:03 PM

No.

:)

-LV
Comments have been closed on this topic.