Hallo zusammen,
gibt es in Java eigentlich die Möglichkeit, in einer abgeleiteten Klasse den direkten Aufruf von Methoden der Basisklasse zu verhindern? Also wenn ich z. B. eine Klasse schreibe, die von einer anderen abgeleitet ist, möchte ich sicherstellen, daß nur die in der neuen Klasse definierten Methoden verwendet werden können und es nicht möglich ist, diese durch den direkten Aufruf von übergeordneten Methoden zu umgehen.
Bsp:
Die Methode "popElem()" verhindert hier das Auftreten der EmptyStackException. Wenn aber die übergeordnete Methode "pop()" der Basisklasse "Stack" direkt benutzt wird, ist der ganze Aufwand für die Katz´...!
gibt es in Java eigentlich die Möglichkeit, in einer abgeleiteten Klasse den direkten Aufruf von Methoden der Basisklasse zu verhindern? Also wenn ich z. B. eine Klasse schreibe, die von einer anderen abgeleitet ist, möchte ich sicherstellen, daß nur die in der neuen Klasse definierten Methoden verwendet werden können und es nicht möglich ist, diese durch den direkten Aufruf von übergeordneten Methoden zu umgehen.
Bsp:
Code:
class Stackdemo extends Stack {
/**
* Entfernen und Rueckgabe des obersten Elements:
*/
Object popElem() {
// Waechter:
if(this.empty())
return null;
return this.pop();
}
...