18.3 Testen der Klasse Punkt
   
Download:
PunktDemo.java
Ein Demo- oder Testprogramm dient zum überprüfen der Konstruktoren und Methoden einer Fachklasse. Sie schreibt man in der Regel als kleine Applikationsprogramme ohne grafische Oberfläche. Das letztere bleibt der sog. GUI-Klasse (Grafical User Interface) vorbehalten, mit denen wir uns in Kap 19 beschäftigen werden. Der Quelltext zum Demoprogramm:
import info1.*;
public class PunktDemo{
  public static void main(String[] args){
    int x,y;
    System.out.print("x-Wert: ");
    x = Console.in.readInt();
    System.out.print("y-Wert: ");
    y = Console.in.readInt();

    Punkt p1 = new Punkt();
    Punkt p2 = new Punkt(x,y);
    
    System.out.println("P1(" + p1.x +"/" + p1.y +")");
    System.out.println("P2(" + p2.x +"/" + p2.y +")");

    p1.verschiebe(2,5);
    p2.spiegleAmUrsprung();
    
    System.out.println("P1 ist um 2 in x- und 
                         5 in y-Richtung verschoben");
    System.out.println("P1(" + p1.x +"/" + p1.y +")");
    System.out.println("P2 ist am Ursprung gespiegelt");
    System.out.println("P2(" + p2.x +"/" + p2.y +")");
    
  }
}
 

Wir erkennen, wie man Instanzen der Klasse Punkt deklariert und sie dann auch erzeugt: Zunächst nennt man den Namen der Klasse von der man ein Objekt anlegen möchte.  Es folgt der Name, den die Instanz tragen soll, also p1 bzw. p2. Folgten jetzt Semikola, so wären die Objekte deklariert aber noch nicht instanziiert, Objekte selbst sind somit noch nicht angelegt. Die geschieht unter Verwendung des new-Operators. Dieser benutzt den Konstruktor, um die eigentliche Erzeugung, auch Instanziierung genannt, vorzunehmen. In unserem Beispiel kommen beide Konstruktoren zum Einsatz.

Wie man auf die Koordinaten der Objekte zugreift, erkennt man in den Ausgaben. So liefert p1.x die x-Koordinate des Objektes p1  und p2.y die y-Koordinate des Objektes p2. Es handelt sich in beiden Fällen um einen direkten, lesenden Zugriff auf die Attribute der Objekte p1 und p2. Ein entsprechend direkter schreibende Zugriff sieht so aus:

p1.y = 4;

Damit hat man den y-Wert des Objektes p1 direkt geändert. Diese direkte Zugriffe auf Attribute eines Objektes versucht man in aller Regel zu vermeiden, ja zu verhindern. Direkte Zugriffe auf Objektattribute widersprechen nämlich dem Prinzip des 'Information hiding's.
 

zu 18.4 Information hiding
zur Startseite www.pohlig.de (C) MPohlig 2004