Stil-Frage



  • Hallo zusammen,

    ich verwende eine Funktion xy() in meiner Form1 in der bestimmte "privat" Variablen bearbeitet werden. Diese Variablen sind in Unit1.h / Form1 als privat deklariert.

    Also, ich kann über die Funktion xy( int a, .... ) die Variablen als Parameter übergeben oder ich deklariere die Funktion xy als void und ändere die Variablen über den direkten Zugriff.

    Was ist jetzt Stilgerechter oder schneller ? Die Variablen per Call-by-Value zu übergeben und dann innerhalb der Funktion mit lokalen Variablen zu arbeiten oder auf die "privat"-Variablen aus der Funktion direkt zuzugreifen ?

    Danke und Gruß

    WoWe



  • Stillgerechter ist es, wenn auf private Membervariablen über Zugriffsmethoden gearbeitet wird, weil man dann auch eine Zugriffskontrolle darüber realisieren kann (z.B. vor der Zuweisung auf gültigen Wertebereich prüfen oder Zeiger auf NULL testen , usw).
    Beim BCB kann das ebenfalls über Eigenschaften erfolgen, ist eigentliche nur eine andere Schreibweise, aber im Prinzip dasselbe.

    Wenn man die direkte Manipulation dieser Variablen zulassen will, bräuchte man sie ja nicht als private zu deklarieren.



  • Wenn die Funktion innerhalb deiner Hauptklasse ist (also z.B.Form1), kannst du gerne direkt auf die Variablen zugreifen.
    Falls deine Funktion allerdings ausserhalb der Hauptklasse deklariert ist, solltest du das mit Parametern oder so wie Burkhi es beschrieben hat lösen.



  • Vielen Dank für eure Antworten. In diesem Falle ist es so, dass die Funktion auch in der Form1 unter privat deklariert ist, deshalb kann ich auch direkt zugreifen auf die Variablen.

    Also wenn ich das richtig verstanden habe, macht es demnach keinen Sinn die Variablen, die ich in der Funktion brauche und die die ich darin verändern will, nochmal an die Funktion zu übergeben.


Anmelden zum Antworten