Hallo,
hat jemand eine Idee, wie ich das folgende realisiere? Essen machen soll im Prinzip für alle gleich ablaufen, die Art zu kochen soll aber jeder konkrete Koch überschreiben (müssen). Geht das?
hat jemand eine Idee, wie ich das folgende realisiere? Essen machen soll im Prinzip für alle gleich ablaufen, die Art zu kochen soll aber jeder konkrete Koch überschreiben (müssen). Geht das?
Code:
public interface Koch {
public machEssen();
}
public abstract class Abstract Koch implements Koch {
public machEssen() {
this.kaufeEin();
this.koche();
this.raeumAuf();
}
protected kaufeEin() {
// Soll für alle gleich sein
}
protected koche() {
// Hier möchte ich ein Überschreiben durch die konkreten Klassen erzwingen
}
protected raeumAuf() {
// Soll für alle gleich sein
}
}
public abstract class ChinesischerKoch extends AbstractKoch {
// Essen machen an sich, einkaufen und aufräumen soll ererbt werden.
// Nur die koche()-Methode, die beim Essen machen angewandt wird,
// möchte ich überschreiben (und der Compiler soll schimpfen, wenn
// ich's nicht tue.
protected koche() {
// Koche nach chinesischer Art
}
}
public abstract class ItalienischerKoch extends AbstractKoch {
// Wie oben.
protected koche() {
// Koche nach talienischer Art
}
}