PDA

View Full Version : [Java]Polimorfismo e implementazione specifiche UML


kaballo
12-07-2007, 15:30
Linko direttamente un altro forum su cui ho fatto la stessa domanda:

http://www.universitor.it/phpBB2/viewtopic.php?p=51001#51001

ovviamente si tratta di un esempio di polimorfismo, solo che mi sembra poco elegante che si abbia un campo nella classe madre e uno nelle classi figlie inizializzate con un solo set, o no?

Ed_Bunker
12-07-2007, 16:25
La cosa corretta, secondo me, e' fare riferimento esclusivamente all'interfaccia MaterialeEsame in modo da astrarre dal fatto che l'oggetto sia istanza di Progetto o di Esercizio (Oltre tutto e' del tutto fuori luogo chiamare una classe esercizi... alle classi va "sempre" assegnato un nome singolare... la cosa corretta, imho, sarebbe stato chiamare quella classe Compito che appunto e' un concetto corretto per indicare una aggregazione di esercizi).
I metodi messi a disposizione da MaterialeEsame, poi, a runtime, andranno ad utilizzare i metodi "giusti" di Progetto o di Compito a seconda della situazione, il tutto in maniera trasparente.

kaballo
12-07-2007, 16:39
scusami ma sono un po' niubbo: Se definisco un oggetto come MaterialeEsame, essendo Java un linguaggio fortemente tipato, avrei a disposizione solo i metodi della classe MaterialeEsame, e non quelli di Progetto o Esercizi, o sbaglio?

Forse implementando dei metodi astratti nella classe MaterialeEsame?


Cmq credo che le intenzioni del disegnatore fossero queste: chi ha visibilità di studTriennale o Specialistica, può vedere il materiale d'esame come progetto o esercizi, mentre chi vede uno studente solo come tale ha accesso solo al materiale d'esame in generale.

Ed_Bunker
12-07-2007, 16:45
scusami ma sono un po' niubbo: Se definisco un oggetto come MaterialeEsame, essendo Java un linguaggio fortemente tipato, avrei a disposizione solo i metodi della classe MaterialeEsame, e non quelli di Progetto o Esercizi, o sbaglio?

Forse implementando dei metodi astratti nella classe MaterialeEsame?


Cmq credo che le intenzioni del disegnatore fossero queste: chi ha visibilità di studTriennale o Specialistica, può vedere il materiale d'esame come progetto o esercizi, mentre chi vede uno studente solo come tale ha accesso solo al materiale d'esame in generale.
Certo.
Se hai un oggetto di tipo apparente MaterialeEsame tu devi fare riferimento esclusivamente ai metodi in esso definiti (A meno di non fare un cast esplicito magari con try-catch, il che a me non sembra molto "chic"...)
Cio' non toglie che, come hai intuito, in MaterialeEsame vi possano essere dei metodi astratti che a runtime invocano i "corrispettivi" metodi concreti implementati in Progetto e in Esercizi.

Hardware Upgrade Forum Database Error
Database Error Database error
The Hardware Upgrade Forum database has encountered a problem.

Please try the following:
  • Load the page again by clicking the Refresh button in your web browser.
  • Open the www.hwupgrade.it home page, then try to open another page.
  • Click the Back button to try another link.
The www.hwupgrade.it forum technical staff have been notified of the error, though you may contact them if the problem persists.
 
We apologise for any inconvenience.