Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdCarla Dijkstra Laatst gewijzigd meer dan 10 jaar geleden
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);
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.