| class Point{
private double x, y;
public Point(){
this(0.0, 0.0);
}
public Point(double x){
this.x = x; this.y = 0.0;
}
public Point(double x, double y){
this.x = x;
this.y = y;
}
public Point(Point p){
this(p.x, p.y);
}
// Evt. Point methoder her
public String toString(){
return ("Punktet" + "(" + x + "," + y + ")");
}
} // end class Point |
|
| | En klasse Point med flere konstruktorer.
Klassen Point har tre konstruktorer, som alle naturligvis hedder Point.
Typen af de formelle parametre gør det muligt at kende forskel på disse.
Læg mærke til at Point() konstruktoren kalder this(0.0, 0.0), hvilket
kalder Point(double,double).
Det er ofte nyttigt på denne måde at lade
specialiserede og begrænsede konstruktorer kalde mere generelle konstruktorer.
Konstruktoreren, som tager et Point objekt som parameter kaldes en kopierende konstruktor,
idet den laver en kopi af et allerede eksterende Point objekt. Også denne konstruktor
kalder Point(double,double).
I 'hovedprogrammet' vist herunder erklærer vi et antal punkter, som konstrueres ved brug af konstruktorerne.
|