@startuml
skin rose
class App {
+ main(String[] args) : void
}
interface Eatable {
+ inKantine() : int
+ Bewertung() : String
}
class Person << abstract >> {
# nachname : String
- ehepartner : Person
# {static} MINPREIS : double
# Person(String nachname)
+ setNachname(String nachname) : void
+ getNachname() : String
+ vorstellen() : String
# heiraten(Person ehepartner) : void
# scheiden() : void
+ inKantine() : int
+ Bewertung(Object wer) : String
+ equals(Object obj) : boolean
+ hashCode() : int
+ toString() : String
+ {abstract} kantineKonsum(int anzahl) : double
}
class Mitarbeiter << abstract >> {
# personalNummer : int
# Mitarbeiter(String nachname, int personalNummer)
# Mitarbeiter(String nachname)
+ setPersonalNummer(int personalNummer) : void
+ getPersonalNummer() : int
+ vorstellen() : String
+ toString() : String
+ hashCode() : int
+ inKantine() : int
+ Bewertung() : String
}
class Lehrer {
- fachbereich : String
+ Lehrer(String nachname, String fachbereich)
+ Lehrer(String nachname, int personalnummer)
+ Lehrer(String nachname, int personalnummer, String fachbereich)
+ getFachbereich() : String
+ setFachbereich(String fachbereich) : void
+ vorstellen() : String
+ kantineKonsum(int anzahl) : double
+ toString() : String
}
class Angestellte {
- schulleitung : boolean
+ Angestellte(String nachname)
+ Angestellte(String nachname, int personalNummer)
+ setSchulleitung(boolean schulleitung) : void
+ isSchulleitung() : boolean
+ vorstellen() : String
+ toString() : String
+ kantineKonsum(int anzahl) : double
}
class Lernende {
- nummer : int
+ Lernende(String nachname)
+ setNummer(int nummer) : void
+ getNummer() : int
+ vorstellen() : String
+ inKantine() : int
+ Bewertung() : String
+ kantineKonsum(int anzahl) : double
+ toString() : String
+ hashCode() : int
}
"Person" <|-- Mitarbeiter : "extends"
"Person" <|-- Lernende : "extends"
Mitarbeiter <|-- Lehrer : "extends"
Mitarbeiter <|-- Angestellte : "extends"
"Person" "1" o-- "Person" : "verheiratet mit"
"Person" ..|> Eatable : "implements"
@enduml