S
Spacerat
Gast
Hallo...
Was ist mir denn da gerade aufgefallen?
Was es daran zu bemängeln gibt? Ganz einfach: Sun "zwingt" einen dazu, im Zweifelsfalle Methoden zu überschreiben, bei denen von deren Verwendung abgeraten wird. Gesetzt den Fall, ich möchte beim De- bzw. Aktivieren einer Component noch einige Dinge ausführen. Würde ich dazu "setEnabled()" überschreiben, laufe ich gefahr, das irgend jemand (warum auch immer) die anderen Methoden aufruft und meine Zusätze dadurch umgangen werden. Überschreibe ich all diese Methoden, und setze dabei die richtige Reihenfolge (aktuell -> deprecated) endet das in einem Kreisbezug. Was bleibt also? Das überschreiben und damit letztendlich auch die Verwendung misbilligter APIs. Wie seht ihr das?
Was ist mir denn da gerade aufgefallen?
Code:
// z.B. Component
public void setEnabled(boolean enable)
{
enable(enable);
}
public void enable(boolean enable)
{
if(enable) {
enable();
} else {
disable();
}
}
public void enable()
{
enabled = true;
// ... Code zum aktivieren der Component
}
public void disable()
{
enabled = false;
// ... Code zum deaktivieren der Component
}