Autor Beitrag
andyp17
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Mo 14.02.11 17:46 
Hallo,
Ich habe in meinem Programm mehrere unterschiedliche statische Klassen. Jetzt gibt es aber eine Methode, die in all diesen statischen Klassen gleich ist. Wie kann ich das nun am elegantesten lösen? Irgendwie gefällt mir das nicht, dass ich überall den gleichen Code drinnen habe. Wie macht man sowas am Besten?

Vielen Dank für eure Hilfe!

mfg
Andy
huuuuuh
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 665
Erhaltene Danke: 19

win xp, (win vista), win 7
VS 2008 Express Edition, VS 2010 Express Edition, VS 2010 Professionell
BeitragVerfasst: Mo 14.02.11 17:51 
Das Schlüsselwort hier ist Vererbung: msdn.microsoft.com/d...173149(v=VS.90).aspx
andyp17 Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Mo 14.02.11 18:00 
Hab ich mir auch gedacht, aber es sollen statische Klassen bleiben und da funktioniert die Vererbung nicht, oder??
huuuuuh
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 665
Erhaltene Danke: 19

win xp, (win vista), win 7
VS 2008 Express Edition, VS 2010 Express Edition, VS 2010 Professionell
BeitragVerfasst: Mo 14.02.11 18:30 
es funktioniert schon. du darfst die Klassen halt nicht als static deklarieren... die static-methoden werden übernommen. wenn du verhindern willst, dass man Objekte der Klassen erzeugen kann, deklariere die Klassen als "abstract"
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 14.02.11 19:23 
user profile iconhuuuuuh hat folgendes geschrieben Zum zitierten Posting springen:
es funktioniert schon. du darfst die Klassen halt nicht als static deklarieren... die static-methoden werden übernommen. wenn du verhindern willst, dass man Objekte der Klassen erzeugen kann, deklariere die Klassen als "abstract"
Dann doch bitte lieber einen leeren, privaten Konstruktor anlegen, dann kann man die Klasse auch nicht mehr instanzieren aber eine nicht-abstrakte Klasse wird nicht als abstrakt ausgegeben ;-)

Insgesamt denke ich aber, dass man mehr über die Beziehung der Klassen untereinander wissen muss, bevor man hier Vererbung empfiehlt. Denn Vererbung ist kein Mittel, um Schreibarbeit zu sparen, sondern um Beziehungen abzubilden. Und wenn die Klassen zwar alle eine Methode gemeinsam haben, sonst aber nichts miteinander zu tun haben (also auch keine Mutter-Kind-Beziehung haben), dann ist Vererbung der falsche Weg.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".