Software Engineering Blatt 1

Werbung
Prof. Dr. F.M. Thiesing
Prof. M. Siekmann
Osnabrück, 26.09.05
Kurs MI4, TI4
Software Engineering Blatt 1
1.) Implementierung von Methoden in der Klasse Pkw
Es sollen in der Klasse Pkw die folgenden Methoden implementiert bzw. ergänzt werden:
Konstruktor 1
Konstruktor 2
Konstruktor 3
String- Ausgabe
String- Ausgabe
public Pkw()
public Pkw(String t, String h, String f, int k, int p)
public Pkw(String t, String h)
public String toString()
für das aktuelle Objekt
public static String alltoString()
für das Array pkwArr.
Mit diesen Methoden soll dann das Hauptprogramm public static void main(String [] args)
compiliert und ausgeführt werden.
2.) Realisierung von Zugriffsmethoden auf Attribute der Klasse Pkw.java
Es sollen die folgenden get-Methoden für Attribute von Objekten implementiert werden:
int getIdentnummer(), String getTyp(), String getHersteller(), String getFarbe(),
int getKmleistung(), int getPreis()
Es sollen die folgenden set-Methoden für Attribute von Objekten implementiert werden:
void setFarbe(String f), void setKmleistung(int k), void setPreis(int p)
Es sollen die folgenden get-Methoden für Klassenattribute implementiert werden:
static int getAktIdentnummer(), static int getCount(), static Pkw [] getPkwArr()
3.) Entfernen von Objekten aus dem Feld pkwArr
Es sollen die Methode static boolean delete(Pkw a) zur Entfernung (Löschung) eines Pkw aus
dem Feld pkwArr implementiert werden. Dabei sollen die nachfolgenden Objekte innerhalb des
Feldes aufgerückt werden und der Zähler count entsprechend korrigiert werden. Der
Rückgabewert ist true, wenn das Pkw-Objekt gelöscht wurde und false, wenn es nicht im Array
gefunden wurde.
4.) Realisierung von Methoden zur Abfrage auf Gleichheit und zum Vergleich der Größe
Es soll die Gleichheit von Objekten definiert werden durch Überschreibung der leeren Methode
boolean equals( Object obj ) der Basisklasse Object
Es soll der Größenvergleich von Objekten definiert werden durch Implementierung der
abstrakten Methode int compareTo (Objekt obj) des Interface Comparable, wobei der Vergleich
auf das Attribut preis durchgeführt werden soll.
5.) Realisierung einer Methode zum Setzen von Standardwerten
Implementieren Sie eine Methode zur Einstellung der Standardwerte stdTyp, stdHersteller und
stdFarbe mit der Signatur static void setStandard(String t, String h String f) . Bei Belegung
eines Strings in der Parameterliste mit einem Leerstring, soll der alte Standardwert an dieser
Position erhalten bleiben.
6.) Realisierung der clone-Methode zum Kopieren von Objekten
In der Basisklasse Object ist die Methode protected Object clone() definiert. Diese soll in der
Klasse Pkw so definiert werden, dass ein neues Objekt erzeugt wird, das mit dem aktuellen
Objekt inhaltlich identisch ist. Da bei den Konstruktoren 1, 2 und 3 immer die identnummer
automatisch erhöht wird und das erzeugte Objekt in pkwArr aufgenommen wird, soll ein
weiterer Konstruktor 4 durch Pkw( int id, String t, String h, String f, int k, int p ) definiert
werden, der die identnummer mit id belegt und zu keiner neuen Aufnahme in pkwArr führt.
Dieser Konstruktor soll nur für den internen Gebrauch zur Verfügung stehen mit der
Spezifikation "friendly" ohne Angabe von public, protected oder public (sog. paketsichtbar).
7.) Trennung der Übersetzungseinheiten und Batchdateien zur Kommandoausführung
Erzeugen Sie eine Klasse namens TestProg in einer Datei TestProg.java, die ausschließlich die
Methode des Main-Programms enthält: public static void main(String [] args). Kopieren Sie
diese Methode aus der Klasse Pkw in diese neue Klasse.
Erzeugen Sie Batchdateien zum schnelleren Ausführung von Compilierung und Ausführung des
Programms, und zwar
j.bat mit dem Compiler- Aufruf
r.bat mit dem Startbefehl
d.bat mit dem Löschbefehl
javac TestProg.java
java TestProg
del
*.class
8.) Aufruf einer Benutzeroberfäche MainGUI
Übersetzen Sie die Quelldatei MainGUI.java und fügen Sie in das Main-Programm der Klasse
TestProg den Aufruf der MainGUI vor dem Statement System.exit(0) ein, nämlich
MainGUI
aGUI.run();
aGUI = new MainGUI() ;
Nach Compilierung und Ausführung des Main-Programms erscheint die Oberfläche mit der
Anzeige von count und pkwArr. Es ist jedoch nur der EXIT-Button aktiv geschaltet!
Herunterladen