Hi, mein Problem ist folgendes:
Ich habe die Klassen
SEntity
-> ..
SUseable
->
SChest....
SEntity ist hierbei die Obersteklasse für ein Serverseitiges Entity, und enthält umbeding notwendigen code. Unter anderem auch die methode update(), die alle 50 ms aufgerufen wird und aus netzwergründen wichtig ist.
Nun erbt SUseable sowie einige dutzend andere Klassen von SEntity, die alle ebenfalls eigene logic im update() hinzufügen. Als beispiel sei hier eine SChest genannt.
Nun kann es passieren das zb bei der SChest vergessen wird im update() super.update() aufzurufen, gibt es einen weg wie ich dieses erwingen kann?
Das normale vorgehen währe ja update in SEntity final zu machen und eine leere methode doupdate() zu erstellen die dann dort aufgerufen wird und von den subklassen untsprechend implementiert wird. Jedoch habe ich eine nicht vorhersagbare tiefe von vererbungen und muss dennoch garantieren können, das IMMER alle super aufgerufen werden.
Ich habe die Klassen
SEntity
-> ..
SUseable
->
SChest....
SEntity ist hierbei die Obersteklasse für ein Serverseitiges Entity, und enthält umbeding notwendigen code. Unter anderem auch die methode update(), die alle 50 ms aufgerufen wird und aus netzwergründen wichtig ist.
Nun erbt SUseable sowie einige dutzend andere Klassen von SEntity, die alle ebenfalls eigene logic im update() hinzufügen. Als beispiel sei hier eine SChest genannt.
Nun kann es passieren das zb bei der SChest vergessen wird im update() super.update() aufzurufen, gibt es einen weg wie ich dieses erwingen kann?
Das normale vorgehen währe ja update in SEntity final zu machen und eine leere methode doupdate() zu erstellen die dann dort aufgerufen wird und von den subklassen untsprechend implementiert wird. Jedoch habe ich eine nicht vorhersagbare tiefe von vererbungen und muss dennoch garantieren können, das IMMER alle super aufgerufen werden.