Se ho una classe abstract che mi descrive un supertipo da cui derivo vari sottotipi.
Nelle classi che estendono la classe abstract posso mettere dei metodi in più che non sono stati dichiarati nella classe abstract?
Grazie
Andrea
Se ho una classe abstract che mi descrive un supertipo da cui derivo vari sottotipi.
Nelle classi che estendono la classe abstract posso mettere dei metodi in più che non sono stati dichiarati nella classe abstract?
Grazie
Andrea
basta provare, ma direi sì
Certamente! Volendo puoi anche creare nuove versioni di un metodo ereditato (overloading)Originariamente inviato da AndreaNobili
Nelle classi che estendono la classe abstract posso mettere dei metodi in più che non sono stati dichiarati nella classe abstract?![]()
SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
Di questo libro e degli altri (blog personale di recensioni libri) | NO M.P. TECNICI
Certo! Ovviamente non potrai invocarli in modo "polimorfico". Cioè non puoi fare:Originariamente inviato da AndreaNobili
Se ho una classe abstract che mi descrive un supertipo da cui derivo vari sottotipi.
Nelle classi che estendono la classe abstract posso mettere dei metodi in più che non sono stati dichiarati nella classe abstract?
codice:SuperTipo s = new SottoTipo(); // ok s.metodoNuovoInSottoTipo(); // NO!
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Questo però era perchè il polimorfismo in java garantisce che il linguaggio è type safe giusto?Originariamente inviato da andbin
Certo! Ovviamente non potrai invocarli in modo "polimorfico". Cioè non puoi fare:
codice:SuperTipo s = new SottoTipo(); // ok s.metodoNuovoInSottoTipo(); // NO!
Cioè se dichiaro s del supertitpo ma lo costruisco come un suo sottotipo...allora potrò usarvi sopra solo i metodi del supertitpo....
E se ad esempio io dichiarassi un vettore di oggetti supertipo...e ci vado a mettere dentro oggetti creati come sottotipi? allo stesso modo non potrei usare i metodi dei sottotipi?
Grazie
Andrea
indubbiamente...Originariamente inviato da AndreaNobili
E se ad esempio io dichiarassi un vettore di oggetti supertipo...e ci vado a mettere dentro oggetti creati come sottotipi? allo stesso modo non potrei usare i metodi dei sottotipi?
ti dirò di più.
visto che ogni classe in java deriva da classe Object, tu puoi creare anche un array di Object e mettere tutti gli oggetti che vuoi, ma senza castare esplicitamente (cosa non bella da fare) non puoi chiamare i metodi delle sotto classi
Nell'anno 1968 è bastata la potenza di due Commodore 64 per lanciare con successo una navicella sulla Luna; nell'anno 2007 ci vogliono la potenza di un processore quad core 3.30 GHz e 3 Gb di RAM (requisiti minimi ufficiali) per utilizzare Windows Vista. Qualcosa deve essere andato storto!