![]() |
OOP konform 2->1
Hi,
Ich möchte eine Funktion haben, der ich 2 Instanzen einer Klasse übergebe, und die dann eine neue Instanz der Klasse zurückgibt.
Delphi-Quellcode:
Wie implementiere ich das ganze jetzt OOP konform? sollte foo eine Methode von TKlasse, so dass ich dann quasi aufriefe:
function foo(a,b:TKLasse):TKlasse;
.... c:=foo(a,b);
Delphi-Quellcode:
oder kann ich die funktion einfach losgelöst von der Klasse TKLasse in die selbe Unit reinpacken?
function TKLasse.foo(b:TKLasse):TKLasse
... c:= a.foo(b); wie würdet ihr das machen. danke schonmal :) |
Re: OOP konform 2->1
Beides ist möglich. Ich würde die Methode wählen
|
Re: OOP konform 2->1
Definier dir einfach nur einen zusätzlichen Constructor in der Klasse, welche 2 Instanzen der Klasse als Parameter hat.
|
Re: OOP konform 2->1
Zitat:
allerdings gibt es verschieden Funktionen die 2 Instanzen der Klasse benötigen und eine Instanz zurückgeben. Gibts ne möglichkeit die alle unterzubringen ohne das es unübersichtlich wird? danke schonmal an euch beide :) |
Re: OOP konform 2->1
Wenn es unterschiedliche Funktionen sind mit unterschiedlichen "Aktionen" aber gleichen Parametern, warum definierst du dir nicht einfach einen Enum der die Aktion angibt und packst den noch als 3. Parameter mit in den Aufruf?
|
Re: OOP konform 2->1
ok, die denkweise gefällt mir, wär ich auch nicht drauf gekommen. danke :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz