![]() |
Funktion überladen oder Standardparameter oder ?
Hallo
Ich rufe in einem Programm zweimal eine Methode auf. Einmal kann ich jedoch auf einen Paramter verzichten... Soll ich nun die Methode überladen, einen Standardparamter verwenden (der dann einfach nicht verwendet wird), einen Dummy-Wert übergeben oder kann man den Paramter gar einfach weglassen?
Delphi-Quellcode:
Ich könnte natürlich auch gleich zwei verschiedene Methoden schreiben... Aber das möchte ich eben nicht (ausser das ist wirklich die einzig "wahre" Lösung).
interface
procedure MachXY(i: integer; s: string) case i of 1: //verwende i und s 2: //verwende nur i ... implementation var x : integer; //z.B 1 y : integer; //z.B 2 z : string; MachXY(x, z); ... MackXY(y); ... es dankt und grüsst Tom |
Re: Funktion überladen oder Standardparameter oder ?
Du kannst auch 'nen Parameter einfach weglassen, indem du 'nen Standartwert übergibst - das ist auch für mehrere Variablen möglich, diese müssen allerdings immer als letztes (ganz rechts) drinstehen.
z.B.:
Delphi-Quellcode:
wenn in diesem Beispiel kein Wert für s übergeben wird, dann wird ein leerer String ( '' ) verwendet.
procedure MachXY(i: integer; s: string = '');
Begin End; MachXY(123, 'abc'); MachXY(456); |
Re: Funktion überladen oder Standardparameter oder ?
Ok, also ein Standardparameter... Was ist wenn ich jetzt anstatt eines Strings ein Objekt oder ein Array hätte? Kann ich dann "nil" übergeben?
|
Re: Funktion überladen oder Standardparameter oder ?
Moin!
Delphi-Quellcode:
MfG
interface
procedure MachXY(i: integer; s: string); Overload; procedure MachXY(i: integer; o: TObject); Overload; procedure MachXY(i: integer; r: Real); Overload; implementation ... Muetze1 |
Re: Funktion überladen oder Standardparameter oder ?
Zitat:
|
Re: Funktion überladen oder Standardparameter oder ?
Wenn du Arrays nutzen willst, übergib der Funktion doch einen Array-Pointer, dan geht dort auch ein Standardparameter. Quasi jedenfalls.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 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