De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen.

Verwante presentaties


Presentatie over: "JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen."— Transcript van de presentatie:

1 JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen van het object Geen resultaattype constructor-overloading (GEEN default-waarden in JAVA) Default-constructor: * geen argumenten * indien GEEN enkele constructor aanwezig: gegenereerd door compiler-> creatie + initialisatie

2 JAVA -- H52 CONSTRUCTOR –- COPY-CONSTRUCTOR Voorbeeld: class Persoon {private String naam; // = null private int leeft; // = 0 public Persoon(String n,int leeft) {naam = n; // ook: this.naam = n; leeft = leeft; // duidelijker: this.leeft = leeft; } public void printPersoon() { System.out.println( “ Hallo, mijn naam is “ + naam + “." + “ Ik ben “ + leeft + “ jaar oud. ” ); }

3 JAVA -- H53 CONSTRUCTOR –- COPY-CONSTRUCTOR public static void main(String args[]) {Persoon p; p = new Persoon( “ Jan ”,20); p.printPersoon(); p = new Persoon( “ Els ”,3); // Het eerste object is gestorven!!! p.printPersoon(); }

4 JAVA -- H54 CONSTRUCTOR –- COPY-CONSTRUCTOR 2Copy-constructor Doel: een nieuw object maken met dezelfde attribuutwaarden als een bestaand object: Persoon p = new Persoon( “ Piet ”,30); Persoon r = new Persoon(p); // NIET: r = p; !!!!  copy-constructor toevoegen aan de klasse Eerste oplosssing: Persoon (Persoon q) {naam = q.naam; leeft = q.leeft; }

5 JAVA -- H55 CONSTRUCTOR –- COPY-CONSTRUCTOR Tweede oplossing:Constructor van de klasse zelf aanroepen Persoon (Persoon q) { this(q.naam,q.leeft); } Merk op : ¶ De constructor wordt in Java opgeroepen via this, niet door middel van zijn naam! · Gebruiken we in een constructor een andere constructor van dezelfde klasse, dan moet deze aanroep steeds als eerste statement staan! ¸ De copy-constructor kan de functie kopie() vervangen in de klasse Breuk: b1 = new Breuk(b2);


Download ppt "JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen."

Verwante presentaties


Ads door Google