Lerne gerade für meine Klausur und versuche mich gerade an einer Aufgabe zum Thema OOP.
Leider verstehe ich nicht genau was in Teilaufgabe a) gemeint ist. Zu der Aufagabe gab es auch noch einen Code mit den drei Klassen: Hausmeister, Lehrer, Schüler. Ich schick diesen sicherheitshalber auch mal rein.
Aufgabe lautet:
Verbessere die folgende Klassenstruktur mithilfe der Möglichkeiten, die du in der Vorlesung gelernt hast. Befolge dabei folgende Aufgaben:
a) Entwickle eine geeignete Klassenhierarchie unter Nutzung aller Kniffe (Vererbung, Super-Konstruktoren, Polymorphismus, Abstrakte Klassen…)
b) Erstelle ein UML-Diagramm basierend auf den Ergebnissen aus a).
c) Übersetze das UML-Diagramm 1:1 in Quellcode und überprüfe, ob deine Verbesserungen das Klassen-Modell wie gewünscht verbessert haben.
d) Erweitere das Modell geeignet um die Aspekte: a) Schulleiter b) Klasse/Stufe c) Unterrichtsfach d) Schuleiter
Wie genau sieht eine Klassenhierarchie aus? Ist das Code oder eine Art Zeichnung?
Es scheint ja kein Code zu sein, da man ja danach ein UML Diagramm zeichnen soll und daraus dann einen Code.
Leider verstehe ich nicht genau was in Teilaufgabe a) gemeint ist. Zu der Aufagabe gab es auch noch einen Code mit den drei Klassen: Hausmeister, Lehrer, Schüler. Ich schick diesen sicherheitshalber auch mal rein.
Aufgabe lautet:
Verbessere die folgende Klassenstruktur mithilfe der Möglichkeiten, die du in der Vorlesung gelernt hast. Befolge dabei folgende Aufgaben:
a) Entwickle eine geeignete Klassenhierarchie unter Nutzung aller Kniffe (Vererbung, Super-Konstruktoren, Polymorphismus, Abstrakte Klassen…)
b) Erstelle ein UML-Diagramm basierend auf den Ergebnissen aus a).
c) Übersetze das UML-Diagramm 1:1 in Quellcode und überprüfe, ob deine Verbesserungen das Klassen-Modell wie gewünscht verbessert haben.
d) Erweitere das Modell geeignet um die Aspekte: a) Schulleiter b) Klasse/Stufe c) Unterrichtsfach d) Schuleiter
Wie genau sieht eine Klassenhierarchie aus? Ist das Code oder eine Art Zeichnung?
Es scheint ja kein Code zu sein, da man ja danach ein UML Diagramm zeichnen soll und daraus dann einen Code.
Java:
public class Hausmeister {
protected int alter;
public String name;
public void arbeiten(){
System.out.println(name + " repariert alles.");
}
}
public class Lehrer {
protected int alter;
public String name;
private String fach;
private boolean istNett;
public void arbeiten(){
System.out.println(fach+"unterricht!");
}
public boolean gibtHausaufgaben(){
return !istNett;
}
public void setFach(String fach){
this.fach=fach;
}
public String getFach(){
return fach;
}
}
public class Schueler {
protected int alter;
public String name;
protected String[] lieblingsfach;
public void lernen(String fach){
for(String s : lieblingsfach)
if(s.equals(fach))
System.out.println(name + " lernt " + fach);
}
public boolean magLehrer(Lehrer l) {
if(l.gibtHausaufgaben() == false)
return true;
else {
for(String s : lieblingsfach)
if(l.getFach().equals(s))
return true;
return false;
}
}
}