Aufgabenblatt 03 - Hochschule Osnabrück

Werbung
Prof. Dr. Stephan Kleuker
Hochschule Osnabrück
Fakultät Ing.-Wissenschaften und Informatik
- Software-Entwicklung -
Grundlagen der Programmierung
Wintersemester 2011/12
Aufgabenblatt 3
6. Aufgabe (2 Punkte)
Gegeben seien folgende Klassen mit Syntaxfehlern (auch Projekt in Kaputt.zip von der WebSeite). Korrigieren Sie jede Klasse mit Hilfe des Compilers, indem Sie alle Fehler Schritt für
Schritt nacheinander abarbeiten. Markieren Sie die gefundenen Fehler auch auf dem
Aufgabenblatt.
class Ueberweisung {{
String from;;;
String for;
{}
String String;
java.lang.String reason;
Double amount*person;
String class;
};
klass Person {
string name;
String geboren in;
Integer alter;
integer _____;
Integer beruf;
}
7. Aufgabe (4 Punkte)
(0,0)
1
2
3
4
Punkt (2,1)
1
5
6
7
8
9
10 x-Achse
Rechteck mit Punkt (5,1),
Breite 4 und Höhe 2
2
3
Kreis mit Punkt (1,3)
und Radius 2
4
Linie von Punkt (6,4)
nach Punkt(7,7)
(oder andersherum)
5
6
7
8
y-Achse
Schreiben Sie folgende Klassen in
Java auf, überlegen Sie sich dabei
zunächst sinnvolle Objektvariablen
und
ergänzen
Sie
dann
Konstruktoren. Erzeugen Sie von
jeder Klasse mindestens ein Objekt
mit Hilfe Ihres Konstruktors und
machen Sie jeweils ein Bildschirmfoto
von den "Innereien" ihres Objektes
(also
der
Inspektion
der
Objektvariablen,
wie
rechts
beispielhaft für einen Kreis gezeigt).
Es sollen die folgenden Klassen
eines grafischen Systems angelegt
werden. Dabei ist zu beachten, dass
die Koordinatenwerte (x- und ySeite 1 von 2
Prof. Dr. Stephan Kleuker
Hochschule Osnabrück
Fakultät Ing.-Wissenschaften und Informatik
- Software-Entwicklung -
Grundlagen der Programmierung
Wintersemester 2011/12
Aufgabenblatt 3
Werte) nur ganzzahlig sein können. Wie auf der Skizze oben angedeutet, ist es bei
grafischen Systemen häufig der Fall, dass die positiven Werte der x-Achse von links nach
rechts verlaufen, die positiven Werte der y-Achse aber von oben nach unten. So liegt der
Urspung des Bildschirms, der Punkt (0,0), links oben in der Ecke. Die benötigten Klassen
sind:
a) Punkt, besteht aus den x- und y-Werten (Koordinaten)
b) Linie (mathematisch genauer Strecke, hat konkreten Start und konkretes Ende)
c) Kreis (hat einen Aufhängepunkt links-oberhalb des Kreises und einen ganzzahligen
Radius)
d) Rechteck (wird typischerweise ausgehend von der linken oberen Ecke definiert)
e) Dreieck
Was müsste man bei Ihnen ändern, wenn die y-Achse, wie mathematisch üblich, nach oben
verlaufen und bei einem Kreis der Mittelpunkt angegeben würde?
8. Aufgabe (3 Punkte)
a) Schreiben Sie in Java eine Klasse zur Beschreibung von Produkten mit den
Eigenschaften Name (String), Produktnummer (Integer) und Preis (hier als Double
genommen, Double-Werte werden mit einem Punkt als Trennzeichen, z. B. 0.49,
geschrieben). Programmieren Sie dazu alle acht möglichen Konstruktoren, die
entstehen, wenn man beliebige Kombinationen der drei Objektvariablen mit den
Varianten sie als Parameter anzugeben bzw. nicht anzugeben schreibt. Beim
Extremfall werden alle Objektvariablen nicht angegeben, der Konstruktor hat dann die
Form Produkt(){}. Rufen Sie aale acht Konstruktoren in Code Pad auf und
fotografieren Sie die Objekte zusammen mit den Code Pad-Eingaben.
b) Könnte die Klasse aus a) noch weitere Konstruktoren haben? Begründen Sie
schriftlich Ihre Antwort.
c) Überlegen Sie, wie viele Konstruktoren die Klasse Datum mit den drei
Objektvariablen Tag, Monat und Jahr vom Typ Integer haben, wenn man wie in a) die
Kombinationen der Objektvariablen in den Konstruktoren haben möchte. Begründen
Sie schriftlich Ihre Antwort.
Seite 2 von 2
Herunterladen