Runtime Type Information

RTTI steht als Abkürzung für Runtime Type Information („Typinformation zur Laufzeit“) und ist ein Begriff aus der Softwareentwicklung und Bestandteil verschiedener Programmiersprachen.

RTTI ermöglicht es, zur Laufzeit den Typ eines Objektes zu ermitteln. Somit kann ein Programm während seiner Ausführung ermitteln, welcher konkreten Klasse ein Objekt angehört, auf das eine bestimmte Referenz zeigt. Ohne diesen Mechanismus „wüsste“ das Programm an dieser Stelle nur, dass ein Exemplar irgendeiner Klasse referenziert wird, die von der Basisklasse abgeleitet ist. Mit diesem Mechanismus „weiß“ es, welcher Klasse das referenzierte Objekt angehört.

Während RTTI einen recht einfachen Mechanismus darstellt, der üblicherweise nur den Namen der konkreten Klasse liefert, gibt es in moderneren Programmiersprachen den Mechanismus der Reflexion, der es ermöglicht, auch Informationen über andere Eigenschaften einer Klasse zur Laufzeit zu ermitteln, z. B. die Namen und Signaturen ihrer Methoden.

Beispiel

Sei also z. B. die eine Referenz auf ein Exemplar der BasisklasseGeschäftspartner“ gegeben, von der zwei konkrete Unterklassen „Kunde“ und „Lieferant“ definiert sind. Mit Typinformation zur Laufzeit kann das Programm herausfinden, ob ein bestimmter Geschäftspartner ein Kunde oder ein Lieferant ist.

Besonderheiten

  • In Java wird die Typinformation zur Laufzeit durch die Methode „getClass“ bereitgestellt, die eine Referenz auf ein sogenanntes Klassenobjekt zurückgibt, das unter anderem den Namen der konkreten Klasse kennt.
  • In Object Pascal steht einem der is-Operator zur Verfügung. Außerdem kann man ClassInfo, ClassType und ClassName eines Objekts abfragen.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.