|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: Jun 2009
Città: Roma
Messaggi: 102
|
[JAVA] Domanda sulle classi abstract
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 |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Tutti i sottotipi concreti del tuo supertipo abstract avranno in comune il fatto di implementare tutti i metodi abstract del supertipo e anche di ereditare gli eventuali altri metodi concreti definiti nel supertipo; ogni sottotipo poi, può eventualmente fare override di quanti metodi concreti del supertipo desideri nonchè definire nuovi metodi che solo lui possiede.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
![]() |
![]() |
![]() |
#3 | |
Bannato
Iscritto dal: Jun 2009
Città: Roma
Messaggi: 102
|
Quote:
Correggimi se sbaglio...per fare l'override in Java non basta che la signature sia uguale,anche il tipo di ritorno deve essere lo stesso...giusto? |
|
![]() |
![]() |
![]() |
#4 |
Junior Member
Iscritto dal: Jul 2009
Messaggi: 2
|
Ciao a tutti sono nuovo del forum.
Per quanto riguarda l'override dei metodi :in java puoi fare l'override in una classe derivata di un metodo di una classe padre se il metodo rispetta la signature sia a livello di parametri sia sul tipo restituito. Con java 5 è però possibile fare l'override di un metodo modificando il tipo di ritorno purché anche il tipo restituito sia una sottoclasse del tipo restituito nel metodo della classe padre: //classe padre public Object doSomething(Object o){...} //classe figlia public String doSomething(Object o){...} Da java 5 in poi si può fare... Questa è una curiosità che ha da poco scoperto... |
![]() |
![]() |
![]() |
#5 | ||
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Quote:
Se vi interessa approfondire, nella sezione tutorial del forum, sotto Java, autore PGI-bis, c'è un tutorial al riguardo.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:33.