![]() |
Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Programmazione (http://www.dsy.it/forum/forumdisplay.php?forumid=259)
-- dubbi su esercizio V o F (http://www.dsy.it/forum/showthread.php?threadid=41513)
dubbi su esercizio V o F
Salve a tutti, potreste dirmi se le risposte che ho dato io a queste domande sono corrette:
Considerate una classe Importo, due classi concrete Beta e Delta, un’interfaccia In, tali che:
* Beta estende direttamente Importo e implementa In
* Delta estende direttamente Beta.
1) una variabile di tipo In pu`o riferirsi a oggetti creati con new Importo(...) -> V
2) una variabile di tipo In pu`o riferirsi a oggetti creati con new Delta(...) -> F
3) una variabile di tipo In pu`o riferirsi a oggetti creati con new Beta(...) -> V
4) se il codice di un costruttore di Beta non inizia con una chiamata this(...) o super(...), il compilatore aggiunge la chiamata super() ma poi segnala un errore -> F
Grazie in aticipo!
1. Falsa. In fa da supertipo per Beta e, di conseguenza per Delta. Importo è supertipo di Beta ma non ha alcun legame con In.
2.Vera. Delta essendo sottotipo di Beta è anche sottotipo di In.
3. Vera. Beta è sottotipo di In.
4. Se un costruttore non contiene alcun riferimento this o super il compilatore aggiungerà in automatico la chiamata super(). Se la superclasse non contiene costruttori privi di argomenti restituirá un errore(controlla te.. La classe importo è sparita dalla mia memoria
)
Spero di esserti stato d'aiuto
grazie mi sei stato d'aiuto!!!
ho ancora un dubbio.. il testo dell'esercizio precisamente era questo:
Oltre alle classi Importo e Alfa dell'esercizio precedente (nell'esercizio precedente Alfa extends Importo), considerate due classi concrete Beta e Delta, un’interfaccia In, tali che:
* Beta estende direttamente Importo e implementa In
* Delta estende direttamente Beta.
Non ho capito come rappresentare graficamente Alfa perchè nell'esercizsio precendete estendeva Importo, ma in questo dice che Beta estende direttamente Importo!![]()
Ho capito come fare, mi ero un attimo confusa :-)
Significa che Alfa estende Importo ma non ha alcun legame con Beta!
Semplicemte dal punto di vista grafico Alfa è collegata ad Importo da un "ramo" separato da quello di Beta..
Fossi in te mi leggerei bene quello che riguarda l'ereditarietà perchè è molto importante..
In ogni caso ogni classe può avere una sola classe "madre" ma può avere un numero indeterminato di classi "figlie" ad estenderla direttamente.
Per quanto riguda le interfacce, invece ognclasse può implementarne quante se ne vuole, poichè le interfacce non sono classi, ma puoi vederle come un "codice di comportamento" che le classi, dal momento incui implentano un interfaccia devono rispettare.
grazie per la spiegazione!
quindi per esempio Alfa non ha legami con Delta, quindi non è nè superclasse nè supertipo nè sottotipo di Delta. Giusto?
Originally posted by albakiara
grazie per la spiegazione!
quindi per esempio Alfa non ha legami con Delta, quindi non è nè superclasse nè supertipo nè sottotipo di Delta. Giusto?
in questo caso, Delta può fornire l'implementazione dei metodi In?
Dal momento in cui una classe implementa un interfaccia essa DEVE fornire un implementazione per tutti i metodi dell'interfaccia(che sono astratti).
Delta, essendo sottotipo di Beta non deve necessariamente definire i metodi di In poichè questo è già stato fatto per forza di cose da Beta, ma, se necessario può ridefinirli.
ok grazie di tutto
figurati ![]()
| All times are GMT. The time now is 15:04. | Show all 11 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.