Jürgen: EventOutObserver Callback

Hallo Liebes Forum,

ich möchte einen über einen EventOutObserver die Funktion Callback benutzen.

Ich habe ein Applet welches mit "implements EventOutObserver" diesen implementiert. Im weiteren Programmablauf definiere ich dann das callback mit dem ich von einer VRML-Welt auf Signale warte. Dies hat alles schon funktioniert, nämlich dann wenn ich direkt aus einer Klassen gearbeitet habe. Jetzt habe ich aber gewisse Methoden ausgelagert, aber alles Methoden die eigentlich nichts mit diesem Vorgang zu tun haben. Der Compiler teilt mir nun mit, daß meine Applet(mit implements EventOutObserver) abstract ist. Mir fehlt nun das Verständnis um die Details, die mir über Abstract bekannt sind hierbei erfolgreich anzuwenden. Wenn mir jemand ein paar Denkanstöße liefern könnte wäre ich überglücklich. Ich verstehe auch nicht wie es funktionieren soll eine abstracte Klasse nicht zu instanzieren und dann mir ihr selbst zu arbeiten.

Vielen Dank für die Lesezeit Jürgen

  1. Hallo Jürgen!

    Interfaces sind Werkzeuge zur Mehrfachvererbung und werden dazu benutzt, dass andere Objekte Methoden deiner Klasse aufrufen können, obwohl sie die Klasse selber nicht kennen, sondern nur wissen, dass du ein Interface implementiert hast.
    Dazu sind Interfaces und ihre Methoden abstrakt, d.h. man kann sie nicht instanziieren, wohl aber erweitern. Mit implements EventOutObserver sicherst du zu, das Interface EventOutObserver zu implementieren, d.h. du musst auch alle als abstrakt definierten Methoden überschreiben.
    Die Meldung des Kompilers deutet nun an, dass du noch nicht alles im Interface definierten Methoden überschrieben hast, daher einige deiner (ererbten) Klassenmethoden noch abstrakt sind und dadurch die gesamte Klasse als abstrakt definiert sein muß.
    Eventuell kann es auch sein, dass du die benötigten Methoden wirklich glaubst überschrieben zu haben, allerdings eine andere Signatur (Modifizierer und Argumente) verwendest, der Kompiler sagt dir aber in der Regel welche Methode du vergessen hast.

    Henryk Plötz
    Grüße von der Ostsee

    1. Danke für mühevolle Erklärung. Ich werde deine Tips verinnerlichen, doch muß ich erst nochmal etwas über "abstract" lesen bis ich soweit bin. Kennst Du ein Tutorial welches sich damit beschäftigt? Ich bin ja nicht auf die Idee gekommen ein Interface zu implemetieren, ich möchte ein callback zu einer VRML-Welt aufbauen, welches schon funktionierte. Warum funktioniert es wenn die Klasse alleine ist und wenn ich andere dazunehme geht‚s nicht mehr? Ich würde es auch gerne umgehen. Aber dieses callback ist irgendwie eine abstrakte Klasse!

      Grüße aus dem Taunus  Jürgen

      1. Hallo

        Da ich wie gesagt, weder das Interface noch deine Klasse kenne kann ich dir leider nicht genau sagen, was du falsch gemacht hast.
        Am besten postest du mal die Signaturen deiner Klasse und deren Methoden sowie die Kompilerfehlermeldung.
        Eine bessere Erklärung von Interfaces findest du zum Beispiel unter http://mathsrv.ku-eichstaett.de/MGF/homes/grothmann/java/kurs/Interfaces.html.

        Henryk Plötz
        Grüße von der Ostsee