Handling von Control-Vererbung

Benötigten mehrere eigene Controls einen identischen Teil des Quelltextes, wird empfohlen diese auf eine gemeinsame Vererbungs-Basis zu stellen. So könnten auch gemeinsame Attribute in einer Basis-Klasse implementiert und anschließend in allen abgeleiteten Controls genutzt werden.

Jedes eigene Control ist im Kontext von Vererbung zu sehen. Alle Controls sind mindestens vom Basis-Control TcHmiControl abgeleitet. Von diesem erbt jedes Control die grundsätzliche Funktionalität wie die Positionierung (unter anderem Left, Top, Width, Height) und das Handling des Lebenszyklus.

Die Vererbung wird an zwei Stellen eines Controls definiert. Erst einmal im Attribut base in den Metadaten der description.json. Weiterhin wird diese Vererbung auch im TypeScript/JavaScript-Quelltext im Grundgerüst des Controls festgelegt.

Methoden und Properties innerhalb des Quelltextes sind in TypeScript entweder als public, protected oder private markiert. Öffentliche Ressourcen (public) können von beliebiger Stelle genutzt/aufgerufen werden. Diese sind also Teil der öffentlichen Schnittstelle (API) eines Controls. Geschützte Ressourcen (protected) sind dagegen nur für abgeleitete Klassen gedacht. Dagegen sind private Ressourcen (private) wirklich nur für die Klasse selbst erreichbar.