basiskonstruktor
Übersicht

kruxBetreff: basiskonstruktor |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe ein type, der von einem anderem abgeleitet wurde. Wie kann ich jetzt die Parameter, die ich für die erzeugung meines unterobjekts bokommen habe benutzen, um damit dann den konstruktor des Basis-Typs aufzurufen?
Mein Problem liegt darin, dass ich einen Polymorphen Typ habe, der ber er erstellung gesagt bekommt, zu welcher gruppe er gehört. Dort trägt er sich dann in einer liste ein, und merkt sich den link. Das bedeutet, dass die Liste(n) die die Objekte verwalten nicht im Typ selber sind, sondern auserhalb, was bedeutet, dass ich die eintragung in die Listen nicht mit der New methode erledigen kann. Mit Basiskonstruktoren erhoffe ich mir, dass ich nicht in jeder abgeleiteten klasse neu reinschreiben muss, wie sich das Objekt in die Liste einzutragen hat. |
||
![]() |
Rone |
![]() Antworten mit Zitat ![]() |
---|---|---|
moin,
ich würds irgendwie so probieren... Code: [AUSKLAPPEN] Type TObjectManager Abstract
Global group1List:TList = New TList Global group2List:TList = New TList Function AddObject(obj:TObject, group) Select group Case 1 group1List.AddLast obj Case 2 group2List.AddLast obj End Select End Function Function ProcessObjects() End Function Function DrawObjects() End Function Function DeleteObjects() End Function End Type '------------------------------------------------------------- '------------------------------------------------------------- Type TObject Abstract Field group Method Create(group) TObjectManager.AddObject(Self,group) End Method Method Process() Abstract Method Draw() Abstract End Type '------------------------------------------------------------- Type TObjImplA Extends TObject Final Field bli Method CreateImpl1:TObjImplA(group) Super.Create(group) Return Self End Method Method Process() '... End Method Method Draw() '... End Method End Type '------------------------------------------------------------- Type TObjImplB Extends TObject Final Field bla Method CreateImpl2:TObjImplB(group) Super.Create(group) Return Self End Method Method Process() '... End Method Method Draw() '... End Method End Type naja, ist irgendwie auch geschmackssache... Basiskonstruktoren in diesem Sinne gibt es meines wissens nicht. Musst halt irgendwie drum herum programmieren... Wäre schön, wenn man 'new' auch Parameter geben könnte und auch Abstracte Types ein 'new' haben dürften, das aufgerufen wird, wenn man eine Instanz des abgeleiteten Types erstellt... ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group