AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

konstantes Klassenattribut?!

Ein Thema von Akku · begonnen am 5. Feb 2006 · letzter Beitrag vom 7. Feb 2006
Antwort Antwort
Akku

Registriert seit: 27. Jan 2006
29 Beiträge
 
#1

konstantes Klassenattribut?!

  Alt 5. Feb 2006, 16:23
Hallo,
ich suche eine Möglichkeit eine Konstante innerhalb einer Klasse zu definieren. Ein Attribut sozusagen, dass ich bereits bei der Definition initialisieren kann und vor Instanzierung abfragen.

Existiert so etwas in Delphi?

Danke!

Gruß Max
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: konstantes Klassenattribut?!

  Alt 5. Feb 2006, 16:38
Moin Max,

leider habe ich für das genannte Problem keine Lösung, aber es stellt sich mir die Frage, wozu das gut sein soll?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Akku

Registriert seit: 27. Jan 2006
29 Beiträge
 
#3

Re: konstantes Klassenattribut?!

  Alt 5. Feb 2006, 16:56
hm... ist jetzt echt nicht persönlich gemeint - aber Antworten wie - "wozu soll das gut sein" - sind selten hilfreich...

Ich habe eine Reihe von Klassen, die grafische Outputs von Berechnungen liefern sollen. Jetzt wäre es schön, wenn ich die Dimension, die sie unterstützen, von vorneherein fix in jede Klassen schreiben könnte.

Gruß Max
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#4

Re: konstantes Klassenattribut?!

  Alt 5. Feb 2006, 17:01
für dieses Unterfangen würde sich eine Class Function eignen, die einfach einen Wert zurückgibt.
Klassen Funktionen können auch schon aufgerufen werden, wenn noch kein Objekt der Klasse createt ist.

Delphi-Quellcode:
class function TMyClass.DimensionDerKlasse : Integer
begin
  result := 5;
end;
Aufruf:

a := TMyClass.DimensionDerKlasse;
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: konstantes Klassenattribut?!

  Alt 5. Feb 2006, 17:06
Moin Max,

Zitat von Akku:
aber Antworten wie - "wozu soll das gut sein" - sind selten hilfreich...
das seh' ich anders: Wenn man erst einmal weiss, wozu etwas gut sein soll, kann man eventuell auch eine Lösung finden, bei der das genannte Problem gar nicht erst auftaucht, und so etwas hatten wir hier schon (öfter)

Wobei Dir Stoxx ja schon die Lösung gebracht hat.

(Warum hab' ich nicht gleich selber an die Klassenmethoden gedacht )
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: konstantes Klassenattribut?!

  Alt 5. Feb 2006, 17:13
Hallo Max,

es gibt sicherlich nur wenige Fälle, in denen ein konstantes Klassenattribut Sinn macht. Ich kenne jetzt keinen solchen Fall und dein Problem scheint mir auch nicht als Präzedenzfall geeignet. Oft werden die 2D-Klassen von den 3D-Klassen sauber getrennt. In einem solchen Fall haben sich globale Konstanten in einer Basis-Unit bewährt, die von den Programmen zur Laufzeit abgefragt werden können.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Akku

Registriert seit: 27. Jan 2006
29 Beiträge
 
#7

Re: konstantes Klassenattribut?!

  Alt 7. Feb 2006, 14:05
Zitat:
für dieses Unterfangen würde sich eine Class Function eignen, die einfach einen Wert zurückgibt.
Klassen Funktionen können auch schon aufgerufen werden, wenn noch kein Objekt der Klasse createt ist.
einfach und genial - hehe - danke Dir(soll ja jetzt wieder groß geschrieben werden)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: konstantes Klassenattribut?!

  Alt 7. Feb 2006, 14:29
Zitat von Akku:
ich suche eine Möglichkeit eine Konstante innerhalb einer Klasse zu definieren. Ein Attribut sozusagen, dass ich bereits bei der Definition initialisieren kann und vor Instanzierung abfragen.

Existiert so etwas in Delphi?
Klassen-Attribute/Properties existieren AFAIK erst ab D2006 auch unter Win32. Davor gibt es unter Win32 nur Klassenmethoden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
sir-archimedes

Registriert seit: 2. Jan 2006
Ort: Münster
167 Beiträge
 
Delphi 2006 Professional
 
#9

Re: konstantes Klassenattribut?!

  Alt 7. Feb 2006, 14:30
Ich finde das Konzept von Klassenvariablen schon ziemlich sinnvoll. Bei Java kann man damit ziemlich schön arbeiten - das vermisse ich ehrlich gesagt ein bisschen bei Delphi. Man kann zwar einiges auch schon mit Klassenfunktionen erledigen, aber einfacher wären manchmal Klassenvariablen. Über eine solche kann man dann ja eine (zur Laufzeit änderbare) "Konstante" erschaffen.

Gruß,
Dominik
  Mit Zitat antworten Zitat
sir-archimedes

Registriert seit: 2. Jan 2006
Ort: Münster
167 Beiträge
 
Delphi 2006 Professional
 
#10

Re: konstantes Klassenattribut?!

  Alt 7. Feb 2006, 14:36
Oh ich nehme alles zurück (ich nutze ja D2006). Habe gerade nachgelesen, wie das mit den Klassenattributen funktioniert. Hatte von Delphi 5 noch im Kopf, dass es so etwas nicht gibt!

Schön - das freut mich
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz