Aufgabe:
Aufgabe: Verwaltung von Immobilien
Als Erweiterung der objektorientierten Programmierung haben Sie letzte Woche das Konzept der
Konstruktoren und die Vererbung von Klassen kennengelernt. Mit diesen neuen Möglichkeiten
können Sie nun folgendes Problem effizient lösen:
Es sollen eine Vielzahl von verschiedenen Immobilien verwaltet werden, die grundsätzlich alle
folgende Eigenschaften erfüllen:
UML:
Immobilie
-----------------------
- ort : String
- flaeche : double
- mieter : String
- preis : int
-----------------------
+ Immobilie(ort : String, flaeche : double, preis : int)
+ setMieter(mieter : String) : void
+ getMieter() : String
+ setMietpreis(preis : int) : void
+ getMietpreis() : int
+ getOrt() : String
+ getWohnflaeche() : double
Es werden zwei verschiedene Arten von Immobilien vermietet:
Zunächst für Privatpersonen der Typ Wohnung, der eine Immobilie mit dem zusätzlichen Attribut
wohnflaeche ist. Außerdem auch der Typ Betreiberimmobilie für gewerbliche Zwecke, welche eine
Immobilie mit dem zusätzlichen Attribut zusatzkosten ist.
Implementieren Sie die Klasse Immobilie wie oben beschrieben und entwerfen Sie die beiden
Klassen Wohnung und Betreiberimmobilie so kompakt wie möglich.
Gegeben sind folgende Daten:
Ort: Köln, Fläche: 160.5, Wohnfläche: 120, Preis: 4870, Zusatzkosten: 2100
Testen Sie Ihr Programm in einer Klasse Verwaltung, indem Sie einmal ein Objekt vom Typ
Wohnung und ein Objekt vom Typ Betreiberimmobilie anlegen. Fügen Sie außerdem jeweils einen
Mieter hinzu.
Folgendes habe ich dazu geschrieben:
und
Meine Fragen dazu:
- "So kompakt wie möglich" heißt vermutlich: "Benutzen Sie Vererbung/Konstruktoren". Wie kann ich das einbringen?
- Wenn ich "+ Immobilie(ort : String, flaeche : double, preis : int)" kann ich nicht implementieren, weil die Klasse schon
so heißt. Was soll ich also da machen?
Aufgabe: Verwaltung von Immobilien
Als Erweiterung der objektorientierten Programmierung haben Sie letzte Woche das Konzept der
Konstruktoren und die Vererbung von Klassen kennengelernt. Mit diesen neuen Möglichkeiten
können Sie nun folgendes Problem effizient lösen:
Es sollen eine Vielzahl von verschiedenen Immobilien verwaltet werden, die grundsätzlich alle
folgende Eigenschaften erfüllen:
UML:
Immobilie
-----------------------
- ort : String
- flaeche : double
- mieter : String
- preis : int
-----------------------
+ Immobilie(ort : String, flaeche : double, preis : int)
+ setMieter(mieter : String) : void
+ getMieter() : String
+ setMietpreis(preis : int) : void
+ getMietpreis() : int
+ getOrt() : String
+ getWohnflaeche() : double
Es werden zwei verschiedene Arten von Immobilien vermietet:
Zunächst für Privatpersonen der Typ Wohnung, der eine Immobilie mit dem zusätzlichen Attribut
wohnflaeche ist. Außerdem auch der Typ Betreiberimmobilie für gewerbliche Zwecke, welche eine
Immobilie mit dem zusätzlichen Attribut zusatzkosten ist.
Implementieren Sie die Klasse Immobilie wie oben beschrieben und entwerfen Sie die beiden
Klassen Wohnung und Betreiberimmobilie so kompakt wie möglich.
Gegeben sind folgende Daten:
Ort: Köln, Fläche: 160.5, Wohnfläche: 120, Preis: 4870, Zusatzkosten: 2100
Testen Sie Ihr Programm in einer Klasse Verwaltung, indem Sie einmal ein Objekt vom Typ
Wohnung und ein Objekt vom Typ Betreiberimmobilie anlegen. Fügen Sie außerdem jeweils einen
Mieter hinzu.
Folgendes habe ich dazu geschrieben:
Java:
package eightpack;
public class Immobilie {
public String ort;
public double flaeche;
public String mieter;
public int preis;
public int zusatzkosten;
public void setMieter(String mieter){}
public String getMieter(){
return mieter;
}
//Mieter
public void setMietpreis(int preis){}
public int getMietpreis(){
return preis;
}
//Preis
public void setOrt(String ort){}
public String getOrt(){
return ort;
}
public void setZusatzkosten(int zusatzkosten){}
public int getZusatzkosten(){
return zusatzkosten;
}
//Zusatzkosten
public void setFlaeche(double flaeche){}
public double getWohnflaeche(){
return flaeche;
}
//Fläche
}
und
Java:
package eightpack;
public class Verwaltung {
public static void main(String[] args){
Immobilie betreiberimmobilie = new Immobilie();
betreiberimmobilie.setOrt("Köln");
betreiberimmobilie.setFlaeche(160.5);
betreiberimmobilie.setMietpreis(4870);
betreiberimmobilie.setZusatzkosten(2100);
Immobilie wohnung = new Immobilie();
}
}
Meine Fragen dazu:
- "So kompakt wie möglich" heißt vermutlich: "Benutzen Sie Vererbung/Konstruktoren". Wie kann ich das einbringen?
- Wenn ich "+ Immobilie(ort : String, flaeche : double, preis : int)" kann ich nicht implementieren, weil die Klasse schon
so heißt. Was soll ich also da machen?