![]() |
Wo gehören die Variablen hin?
![]() Ich stelle zurzeit meine Software von prozedural nach OO um. Dabei habe ich oft folgende Situation, mit der ich nicht weiß, wie ich sie handhaben soll. Wäre dankbar für eine Idee, mir fällt nix Gescheites ein.. Situation: Die Units werden bisher mit globalen Variablen über die uses Klausel versorgt.
Delphi-Quellcode:
unit unit1;
uses unitA, unitB, unitC; var O: TKlasse; u, v, w: ... procedure TForm1.Machwas; begin // Globale Variable x aus unitA; // Globale Variable y aus unitB; // Globale Variable z aus unitC; Setzt u, v Führt O.Machwas aus Benötigt die von O.Machwas veränderten Werte x, y, z, u, v zur weiteren Berechnung end; unit TKlasseUnit; uses unit1, unitA, unitB, unitC; // Globale Variable x aus unitA; // Globale Variable y aus unitB; // Globale Variable z aus unitC; // Globale Variablen u, v aus unit1; procedure TKlasse.Machwas; begin // benötigt und verändert x, y, z, u, v end; |
AW: Wo gehören die Variablen hin?
schon mal unter Delphi class , private, public geggogelt ?
zB. ![]() |
AW: Wo gehören die Variablen hin?
Variablen gehören da hin, wo sie verwendet werden.
Wird sie lokal nur in einer Funktion/Prozedur/Methode verwendet, dann gehört sie in diese Funktion rein. Wird sie innerhalb einer Klasse verwendet, dann gehört sie dort hin, also in die Klassendeklaration. (wie Bernd erwähnt hat, z.B. in private oder protected) Wird sie global benötigt, würde man sie global deklarieren, aber Global ist nicht global. Wird sie in einer Klasse erstell/freigegeben, denn gehört sie in die entsprechende Klasse (private/protected) und man veröffentlicht sie z.B. über ein public-Property. Notfalls gibt es noch Class-Var und Class-Property, wenn diese Variable zwar an eine Klasse, aber nicht an eine bestimmte Objekt-Instanz gebunden ist. |
AW: Wo gehören die Variablen hin?
class var ? Seit wann gibt's die denn?
Himitsu, wenn ich zwei Klassen habe, die Daten austauschen, wo machst du die Variablen dann hin? Egal ??? Da muß es doch Prinzipien geben ? Bernard, ich hab schon einige Klassen geschrieben und ich weiß auch was eine property ist, das ist hier nicht das Problem. |
AW: Wo gehören die Variablen hin?
Zitat:
|
AW: Wo gehören die Variablen hin?
Zitat:
|
AW: Wo gehören die Variablen hin?
:oops: Peinlich, wußte ich nicht. Hab nur gelegentlich mal class procedures und class functions benutzt: Thanx!
|
AW: Wo gehören die Variablen hin?
Lemmy, das Ding ist aus den Neunzigern. Ursprünglich war alles prozedural. Dann sind mit der Zeit einige nicht visuelle Komponenten hinzugekommen, die alle die gleichen Daten brauchen.
|
AW: Wo gehören die Variablen hin?
Bernhard, dein Link konnte mir jetzt doch weiterhelfen. Bin beim Stöbern auf
![]() Gruß Thomas |
AW: Wo gehören die Variablen hin?
Die Frage ist doch nicht die, wo die Variablen hingehören, sondern eher die, wo die Funktionalität hingehört. Dann ergibt sich der Rest von ganz alleine.
Die hier gegebenen Antworten "dort, wo sie gebraucht werden" In deinem Beispiel fragt man sich, was die TKlasse mit den Werten x,y,z,u,v denn 'macht'. Und weshalb die in anderen Units deklariert sind bzw. wurden. Ach, so -wuppdiwupp- vom prozeduralen auf den objektorientierten Ansatz umzuschwenken, ist dann doch nicht ganz so einfach, vor allen Dingen dann, wenn man solche Fragen stellt. Da scheint dann das Grundverständnis zu fehlen. Macht aber nichts, das ging uns allen so. Also: Basiswissen aneignen, Bücher schmöckern, die Prinzipienm Stärken und Schwächen von OOP verstehen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:44 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