AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Klassen mit unterschiedlichen Parents verwursten

Ein Thema von transporter08 · begonnen am 7. Mär 2012 · letzter Beitrag vom 7. Mär 2012
Antwort Antwort
Seite 2 von 2     12
transporter08

Registriert seit: 7. Mär 2012
7 Beiträge
 
#11

AW: Klassen mit unterschiedlichen Parents verwursten

  Alt 7. Mär 2012, 09:41
Die Zwischenklasse ist leider auch nicht möglich, weil TFooClass1 und TFooClass2 wiederum Basisklassen bilden, von denen an anderer Stelle Ableitungen stattfinden (nennen wir sie TFooClass1ZweigA und TFooClass2ZweigA (diese Ableitungen haben aber ihrerseits nichts mit Funktion1/Funktion2 zu tun). Die Funktion1/Funktion2 soll nur (gemeinsam nutzbar) in TFooClass1ZweigB bzw. TFooClass2ZweigB wenn möglich.
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: Klassen mit unterschiedlichen Parents verwursten

  Alt 7. Mär 2012, 09:46
Dann bleibt nur noch das Interface. Oder eben die Überlegung ob dein Klassenmodell in sich noch passt.

Ah ne... eine GEschichte noch: Ich kenne die Hintergründe nicht, aber du könntest ggf. das gemeinsame Verhalten in einer weiteren Klasse abbilden, die dann von den entsprechenden Klassen einfach genutzt wird (nennt sich Komposition).

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.535 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Klassen mit unterschiedlichen Parents verwursten

  Alt 7. Mär 2012, 09:48
Ich bekomme das Gefühl, Du solltest Dein Klassenmodell vielleicht noch einmal überdenken (oder ich verstehe Dich völlig falsch, das kann natürlich auch sein)
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Robotiker
(Gast)

n/a Beiträge
 
#14

AW: Klassen mit unterschiedlichen Parents verwursten

  Alt 7. Mär 2012, 10:01
Ich würde auch mal vermuten, dass man das in Delphi über Interfaces lösen sollte.

Der Fragesteller will wahrscheinlich etwas, was man in C++ ungefähr so lösen würde:
Code:
template<typename T>
class Foo : public T
{
  // Irgendeine Implementierung
};
Also (ggf. Mehrfach-) Vererbung von einen Generic. Geht das in Delphi ?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.098 Beiträge
 
Delphi 12 Athens
 
#15

AW: Klassen mit unterschiedlichen Parents verwursten

  Alt 7. Mär 2012, 10:15
Nur geht sowas in den Delphi-Generics leider nicht.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Robotiker
(Gast)

n/a Beiträge
 
#16

AW: Klassen mit unterschiedlichen Parents verwursten

  Alt 7. Mär 2012, 10:20
Nur geht sowas in den Delphi-Generics leider nicht.
Ok, danke. Dann sollte man das OO-Design besser den Möglichkeiten der Sprache anpassen.
  Mit Zitat antworten Zitat
transporter08

Registriert seit: 7. Mär 2012
7 Beiträge
 
#17

AW: Klassen mit unterschiedlichen Parents verwursten

  Alt 7. Mär 2012, 11:12
Also ich mache nochmal ein (nur zur Verdeutlichung) Beispiel aus dem Fahrzeugbereich:

TFooBase stellt die Basis dar mit Eigenschaften wie z.B. 4 Räder.

TFooClassBenzin => class(TFooBase) mit zusätzlichem Objekt Benzinmotor
TFooClassElektro => class(TFooBase) mit zusätzlichem Objekt Elektromotor

TFooClassKFZBenzin => class(TFooClassBenzin ) Basisklasse für z.B. KFZ mit Benzinmotor
TFooClassKFZElektro => class(TFooClassElektro) Basisklasse für z.B. KFZ mit Elektromotor

TFooClassLKW => class(TFooClassBenzin ) Basisklasse für z.B. LKW mit Benzinmotor

TFooClassKFZBenzin + TFooClassKFZElektro sollen jetzt noch die zusätzlichen gemeinsam nutzbaren Funktionen
Funktion1/Funktion2 für z.B. ausschliesslich den KFZ-Bereich. Eine Zwischenklasse KFZ zwischen TFooBase und TFooClassBenzin/TFooClassElektro geht hier nicht, weil die KFZ-Funktionen direkt schon den Benzin bzw. Elektromotor ansprechen müssen.

Natürlich würde ich einen Fahrzeugbereich etwas anders abbilden, aber so wäre mein momentanes Problem strukturiert. Hoffe, es ist nun etwas klarer.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Klassen mit unterschiedlichen Parents verwursten

  Alt 7. Mär 2012, 11:58
Ich denke, das wäre in Delphi ein klassischer Fall für den Einsatz von Interfaces. So musst Du im späteren Einsatz nicht ständig die Objekte casten.

Man erreicht auch eine losere Bindung der einzelnen Klassen.

Allerdings ist ein gewisser Mehraufwand durch die Deklaration der Schnittstellen notwendig und die Speicherverwaltung ist im Projekt anders als mit reinen Objekten zu organisieren.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
transporter08

Registriert seit: 7. Mär 2012
7 Beiträge
 
#19

AW: Klassen mit unterschiedlichen Parents verwursten

  Alt 7. Mär 2012, 12:55
Danke für die Auskünfte.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz