Speichermanagement bzgl. Interfaces



  • Ich hätte da mal eine Verständnisfrage zum Speichermanagement bzgl. Interfaces. Wenn ich es richtig verstanden habe, handelt es sich bei Interfaces um Referenztypen, deren Referenz zwar im Stack, aber die Daten im Heap gespeichert werden. Wie kann ich mir denn die Verbindung bzw. den „Contract“ mit einer Klasse vorstellen, über deren Objekte auf die Daten des Interface zugegriffen werden kann?

    Viele Grüße,
    Erano1



  • Ein Interface kapselt einfach nur ein Objekt einer Klasse. Es wird nur für das Klassenobjekt Speicher bereitgestellt und dieses dann als Referenz zurückgegeben - ein Interface stellt selbst kein eigenes Objekt dar (und damit reserviert es auch keinen eigenen Speicher).
    Wenn man den konkreten Typ hinter einem Interface kennt, kann man ja jederzeit casten (sieht man auch im Debugger, wenn man sich den Typ bei einer Interface-Referenz anschaut).



  • Das hilft sehr weiter! Vielen Dank 🙂


Anmelden zum Antworten