Konstruktoren |
|
public Kreis() {}
Der Standard-Konstruktorwird in main() benutzt zur Erzeugung von Objekten:
Kreis kreis1 = new Kreis();siehe Kreis.java und Kreistest.java
Übung:
Man erzeuge Kreis- und Viereck-Objekte und prüfe, welche Werte die Eigenschaften der Objekte direkt nach der Instanziierung besitzen. (Man verwende dazu die passenden get-Methoden)
Neben dem Standard-Konstruktor kann man überladene Konstruktoren definieren, die bei der
Erzeugung eines Objekts Eigenschaften mit Werten initialisieren (Man beachte, dass radius der Name einer bereits vorhandenen Eigenschaft der Klasse Kreis ist):
public Kreis( double r )
{
radius = r;
}
Der Konstruktor-Aufruf in main() zur Erzeugung eines Objekts erfolgt dann mit einem Parameter, der die betreffende Eigenschaft beim frisch erzeugten Objekt sofort auf den Wert des Parameters setzt:
Kreis kreis123 = new Kreis( 20 );
Achtung: Wenn man überladene Konstruktoren definiert, verschwindet dadurch der Standard-Konstruktor. Wenn dieser trotzdem gebraucht wird, muss man seine Definition ausdrücklich hinschreiben, siehe Beispiel Kreis.java 2te Version mit überladenem Konstruktor
Übung:
Man ergänze die Klasse Viereck um einige Konstruktoren, und man teste die Konstruktoren. Es kommen folgende Gesichtspunkte in Betracht:
Programme sind meistens Modelle irgendwelcher echten Vorgänge. Z.B. wird eine Banksoftware mit Konten zu tun haben, eine Personal-Verwaltungssoftware mit Mitarbeitern etc. Allgemein ist es ein Vorteil der OOP, dass die Programme mit denselben Grundbegriffen arbeiten wie in dem zu modellierenden Fachbereich üblich: Der Fachmann kann dem Programmierer in Begriffen seines Fachbereichs erklären, was das Programm tun soll.
Dogma der OOP: Alles besteht aus Dingen, den Objekten, die bestimmte Tätigkeiten durchführen können, nämlich Methoden.
Übung:
Man schreibe eine Klasse Mitarbeiter, die ungefähr folgendes leisten muss:
Mitarbeiter einige Konstruktoren.
public class Mitarbeiter {
private String nachname;
private double gehalt;
public Mitarbeiter(){}
public Mitarbeiter( String n)
{
nachname = n;
}
public Mitarbeiter( String n, double g)
{
nachname = n;
gehalt = g;
}
}
Ausserdem bekommt die Klasse noch set- und get-Methoden wie immer, und weitere nützliche Methoden nach Bedarf.
Übung:
Man schreibe eine Klasse Konto; ein Konto muss einen Inhaber haben und einen Betrag als Guthaben.
Übung:
Man schreibe eine Klasse Datum. So geht es los:
public class Datum{
private int tag;
private int monat;
private int jahr;
}