Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Klasse ableiten
Stauch - Mi 07.01.04 13:18
Titel: Klasse ableiten
Hallo,
ich brauche mehrere TShape-Objekte mit gleichen Eigenschaften. Dazu wollte ich eine neue Klasse ableiten, um dem Typ TShape noch ein paar passende Methoden zu verleihen. Jetzt habe ich mich aber verfranzt: Welcher Weg ist besser:
Delphi-Quelltext
1: 2: 3: 4:
| Type TXShape = class(TShape) procedure ... procedure ... end |
oder
Delphi-Quelltext
1: 2: 3: 4: 5:
| Type TXShape = class s : TShape procedure ... procedure ... end |
[/delphi]
jaenicke - Mi 07.01.04 13:41
Titel: ???
Hallo!
Also die erste Möglichkeit ist doch gut!
Die zweite Methode wäre umständlich, denn Du müsstest das TShape-Objekt ja auch noch in einem OnCreate Konstruktor extra initialisieren. Zudem müsstest Du beim Aufruf jeweils noch das s einfügen:
ShapeVariable.s.Irgendwas
Die erste Methode ist die, die man normalerweise verwendet, wenn man eine Komponente erstellen will. Es gibt übrigens die Möglichkeit sich das Gerüst einer neuen Komponente erstellen zu lassen.
Dazu gehst Du auf "Komponente" -> "Neue Komponente" und wählst aus, von welchem Typ die Komponente abgeleitet werden soll, hier also TShape. Dann hast Du schon mal alles, was in der Unit stehen muss, und Du musst "nur" noch deine Neuerungen machen. (Es wird hauptsächlich das erstellt, was Du geschrieben hast, aber Du hast dann auch schon die Register Methode.)
MfG,
S.J.
MKehrer - Do 08.01.04 16:50
Bei der ersten Methode hast Du Zugriff auf die als Protected deklarierten Func´s und Properties von TShape, bei der zweiten nicht.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!