Differenze tra classi astratte ed interfacce

Giorgio Borelli

quali sono le caratteristiche e le principali differenze tra le classi astratte e le interfacce nella programmazione orientata agli oggettiLe classi astratte e le interfacce sono due concetti fondamentali della programmazione orientata agli oggetti (OOP, Object Oriented Programming), a prescindere dal linguaggio usato, sia questo Java, C++ o C#. L'importanza di conoscere i concetti teorici che stanno alla base di questi due elementi, è fondamentale per un buon programmatore; capire la differenza tra classi astratte ed interfacce permette di valutare in modo corretto quando usare l'una e quando usare l'altra.

Sia le classi astratte che le interfacce non possono essere instanziate poichè al loro interno definiscono soltanto i metodi e le proprietà che dovranno essere implementate dalle classi che deriveranno da esse, rappresentano pertanto un modello, oserei dire un "template" per le classi che una volta derivate da esse ed instanziate ne implementeranno il comportamento.

Classi astratte ed interfacce, così simili tra loro, possono confondere le idee ai neo programmatori che per le prime volte si avvicinano a questi concetti ed al polimorfismo della OOP, ma sebbene le similitudini sono molte vi sono delle sottili ma fondamentali differenze concettuali che è bene avere chiare in mente, per capire quando usare una classe astratta e quando una interfaccia.

Prosegue...

Categorie: C#

Tags: , ,