Laden...

Interface mit Konstanten Membern

Erstellt von AlexanderT vor 14 Jahren Letzter Beitrag vor 14 Jahren 2.474 Views
AlexanderT Themenstarter:in
70 Beiträge seit 2009
vor 14 Jahren
Interface mit Konstanten Membern

Hi,

Ich möchte gerne ein interface mit 3 constanten Variablen(Höhe,Breite,Dicke) erstellen, und diese auf drei Klassen anwenden, bei denen diese Konstanten aber immer Unterschiedlich sein sollen(normaler Brief, großer Brief, maxi Brief). Leider bekomme ich das nicht so recht hin, ich würde auch eine vererbung von classen nutzen, aber auch daran scheitere ich gerade 😕 könnt ihr mir einen Stoß in die richtige Richtung geben?

Gruß

Alex

6.862 Beiträge seit 2003
vor 14 Jahren

Hallo,

Eine Möglichkeit wäre doch einfach 3 Properties im Interface zu deklarieren und im Konstruktor der jeweiligen Klassen jeweils den Wert setzen. Mit Vererbung gehts analog.

Baka wa shinanakya naoranai.

Mein XING Profil.

AlexanderT Themenstarter:in
70 Beiträge seit 2009
vor 14 Jahren

Aber so kann ich doch keine "const" machen oder? Diese Lösung hatte ich auch schon, aber ich wollte halt Konstanten nehmen und nicht nur Readonlys -> wenn das geht.

365 Beiträge seit 2007
vor 14 Jahren

Hallo zusammen ....

Wie wäre es mit einer abstrakten Klasse .....
Im Konstruktor initialisierst und forderst du die entsprechenden Werte,
wie schon von talla vorgeschlagen.

Edit:
Warum müssen es Konstanten sein?!

Greetz da kubi...

6.862 Beiträge seit 2003
vor 14 Jahren

Hallo,

das ganze als Konstante zu realisieren find ich unlogisch, da es für die verschiedenen Briefe ja keine Konstante ist, sondern je nach Art wohl andere Werte annimmt. Das ist ne ganz normale Variable.

Als Properties könnte mans noch einfach so machen dass man den setter halt privat macht und man den Wert so von außen nicht ändern kann.

Baka wa shinanakya naoranai.

Mein XING Profil.

AlexanderT Themenstarter:in
70 Beiträge seit 2009
vor 14 Jahren

Es MÜSSEN keine Konstanten sein, ich wollte nur ausprobieren ob es geht(sollten Konstanten nich performance-Vorteile bieten? Minimale klar, aber Vorteile)?

Ich nehme dann mal die Readonly Properties.

Danke nochmal ;D

Alex

365 Beiträge seit 2007
vor 14 Jahren

das ganze als Konstante zu realisieren find ich unlogisch

Ganz deiner Meinung, darauf zielte ja meine Frage ab warum AlexanderT
Konstanten benutzen will, wobei die sich ja trotzdem ändern.

@AlexanderT:
Viel Spaß bei der Implementierung ....

Greetz da kubi ...

946 Beiträge seit 2008
vor 14 Jahren

sollten Konstanten nich performance-Vorteile bieten? Minimale klar, aber Vorteile?

Minimale sicher, das ist ja eigentlich klar.
Der Unterschied der: Konstanten werden in den eigentlichen Code mit einkompilliert wie wenn du den Wert ganz normal als Literal geschrieben hättest.
Es wird also nicht zur Laufzeit der Wert gelesen (abgerufen), sondern schon zur Kompillierzeit.
Die Konstante ist auch in anderen Assemblies im IL-Code "hardcoded" und kann zu Problemen führen, wenn du die Konstante plötzlich änderst. Das merkt sie erst, wenn man sie neu kompilliert.
Bei Readonly-Felder passiert das nicht.

Die Geschwindigkeitsvorteile einer Konstante gegenüber einem readonly Field und sogar gegenüber einer Property sind allerdings kaum merklich.
Von dieser Seite sollte das eigentlich egal sein.

mfg
SeeQuark