Nell'esercizio UML di ogni prova scritta il prof chiede di realizzare il dato astratto realizzato nell'esercizio precedente. Ad esempio nella prova del 14 gennaio 2010 chiede di realizzare il dato astratto Layout. Il miei dubbi sono se realizzare il dato Layout attraverso un'interfaccia, o una classe astratta, o una classe astratta che implementa un'interfaccia?
In quale caso devo utilizzare la classe astratta nell'UML?
Essendo Layout un dato astratto puoi costruire una classe astratta(che non è possibile istanziare) dove tutti i metodi sono concreti mentre l'istanzianzione della classe grafoLA è astratta quindi puoi fare una sottoclasse di layout che istanzia grafoLA ed eredita tutti i metodi di Layout. La classe GrafoLA a sua volta utilizza una Lista ed implementa l'interfaccia Grafo. Utilizzando una classe astratta puoi poi sfruttare il polimorfismo di inclusione.