Categorie
Winzipedia Uso dell'wiki |
Java /
EreditarietaCostruttoriJava.EreditarietaCostruttori VersioniMostra le modifiche minori - Mostra le modifiche 05/08/2006 ore 12:30 CEST
di - Fine stesura della voce
Modificate le linee 64-68: da:
Sono nel costruttore senza parametri della classe B Sono nel costruttore senza parametri della classe D il compilatore come prima istruzione del costruttore della classe @@D@@ super(), in questo modo. a:
Sono nel costruttore senza parametri della classe B Sono nel costruttore senza parametri della classe D il compilatore come prima istruzione del costruttore della classe @@D@@ l'istruzione @@super()@@, in questo modo. Aggiunte le linee 75-104:
Se nella classe @@B@@ fosse stato definito un costruttore con lista di parametri di input non vuota (vedi codice poco sotto), l'ultimo esempio avrebbe generato un errore di compilazione. public class B { public B(String nom) { System.out.println("Ciao " + nome + "!"); } } public class D extends B { public D() { System.out.println("Sono nel costruttore senza parametri della classe D"); } } public class D extends B { public D() { super("Vincenzo"); System.out.println("Sono nel costruttore senza parametri della classe D"); } } Ciao Vincenzo! Sono nel costruttore senza parametri della classe D Modificate le linee 43-74: da:
a:
Scriviamo ora la classe @@D@@. public class D extends B { } Sono nel costruttore senza parametri della classe Inseriamo ora un costruttore senza parametri di input. public class D extends B { public D() { System.out.println("Sono nel costruttore senza parametri della classe D"); } } Sono nel costruttore senza parametri della classe B Sono nel costruttore senza parametri della classe D public class D extends B { public D() { super(); System.out.println("Sono nel costruttore senza parametri della classe D"); } } 05/08/2006 ore 12:16 CEST
di - Creazione della pagina
Modificate le linee 27-43: da:
a:
Per chiarire meglio soprattutto gli ultimi concetti, vediamo un esempio. !!! Esempio Supponiamo di avere una classe base @@B@@ e una classe derivata da @@B@@ di nome @@D@@. public class B { } In questo caso il compilatore il costruttore di default vuoto @@public B() { }@@. Volendo, possiamo fare l'overload di questo costruttore per fargli stampare un messaggio. public class B { public B() { System.out.println("Sono nel costruttore senza parametri della classe B"); } } Scriviamo ora la classe @@D@@. 05/08/2006 ore 12:04 CEST
di - Creazione della pagina
Aggiunte le linee 1-27:
'''Autore:''' [[Profiles.Vincenzo | Vincenzo Manzoni]] ->'''Sommario''' ->[-Descrizione del meccanismo di chiamata dei costruttori in una gerarchia di classi Java.-] !! Introduzione !! Uno per uno, non fa male a nessuno public QualcheCostruttore() { } Il costruttore di default viene utilizzato solamente in questo caso. Se il programmatore implementa un costruttore specializzato con lista di parametri di input, non importa se vuota o meno, Java elimina completamente il costruttore di default. !! Chiamata del costruttore della classe base super(lista di argomenti) Tale chiamata deve essere effettuata come prima istruzione all'interno del costruttore della classe derivata, inclusa la dichiarazione di variabili. Vediamo con un esempio: |