Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Verwenden von Pointern (https://www.delphipraxis.net/172360-verwenden-von-pointern.html)

jaenicke 29. Dez 2012 22:33

AW: Verwenden von Pointern
 
Zitat:

Zitat von stahli (Beitrag 1197102)
Ab wann gibt es im Delphi eigentlich Klassenvariablen und Klassenkonstruktoren?

Klassenvariablen gibt es seit Delphi 2006, aber mit einem Compilerfehler, der dazu führte, dass ein Zugriff von außerhalb der Unit knallte. Klasseneigenschaften gibt es glaube ich seit Delphi 2007 (?). Und Klassenkonstruktoren und -destruktoren gibt es seit Delphi 2010.

Getox 2. Jan 2013 10:35

AW: Verwenden von Pointern
 
Ich hab zwar bei der Hälfte von dem was ihr hier redet keine Ahnung was ihr meint, oder worum es eigentlich geht, aber ich habe mir Singleton mal angeschaut.

Lustigerweise gehen fast alle Threads über singleton in die Richtung: "Globale Variablen böse, Singleton böse, alles böse". Ich habe hier im Forum aber einen sehr gut verständlichen Guide als PDF gefunden und habe es damit verstanden und auch schon angewendet. Für meinen Zweck scheint es wirklich gut zu sein.

Ich verstehe zwar nicht was an globalen Variablen so "Böse" ist, aber egal... Mein alter Programmierlehrer hat immer gesagt, globale Variablen seinen einfach nur unschön. In Foren habe gelesen, dass globale Variablen "unangenehme Nebenwirkungen" haben könnten. Aber ich glaube das steht auf einem anderen Blatt.

Mein problem, wegen dem ich diesen Thread ursprünglich gestartet habe ist gelöst und dafür danke ich.

Und ja, ich habe schon öfters miterlebt, dass aus eine simplen Anfängerfrage riesige Grundsatzdiskussionen werden und das ist in der Tat sehr verwirrend für den fragenden Neuling. Wer hat jetzt recht? Was soll man jetzt tun? Was bedeutet eigentlich die Hälfte von dem was da geschrieben wurde?

Getox

BUG 2. Jan 2013 11:11

AW: Verwenden von Pointern
 
Zitat:

Zitat von Getox (Beitrag 1197334)
Ich verstehe zwar nicht was an globalen Variablen so "Böse" ist, aber egal... Mein alter Programmierlehrer hat immer gesagt, globale Variablen seinen einfach nur unschön. In Foren habe gelesen, dass globale Variablen "unangenehme Nebenwirkungen" haben könnten. Aber ich glaube das steht auf einem anderen Blatt.

Das ist alles genau das Gleiche. Das unschöne / böse an globalen Variablen ist, dass sie Fehler durch Seiteneffekte provozieren.
Durch das Verpacken in eine Klasse (Singletone) kann man das besser kontrollieren, die Gefahr von Seiteneffekten besteht aber weiterhin.

Wenn man den Gedanken der Seiteneffektfreiheit weiter verfolgt, kommt man irgendwann bei einer funktionalen Programmiersprache an. Was in anderen Programmiersprachen gute Praxis ist, wurde dort sprachlich geregelt. IMHO sollte jeder mal den funktionale Programmierstiel angesehen/praktiziert haben.


Ganz kommt man um die globalen Objekte aber auch nicht herum. Ein typisches Beispiel sind die Standard-Ein-/Ausgabe-Streams für die Konsole. Die gibt es halt nur einmal.

jaenicke 2. Jan 2013 11:39

AW: Verwenden von Pointern
 
Zitat:

Zitat von Getox (Beitrag 1197334)
Ich verstehe zwar nicht was an globalen Variablen so "Böse" ist, aber egal...

Dass man ihnen nicht ansieht wer wann etwas hineinschreibt, wer sie initialisiert, ...

Singletons mögen auch nicht schön sein, aber es ist zumindest klar, dass sie initialisiert sind, wenn man sie irgendwo benutzt. :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 Uhr.
Seite 3 von 3     123   

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