Avatar ·

Wann man statische Klassen in C# verwendet und warum sie nicht immer schlecht sind

Hallo zusammen! Ich bin ein angehender C#-Entwickler (lerne seit etwa 4 Monaten). Ich habe scheinbar die Grundlagen der OOP verstanden: Klassen, Objekte, Vererbung, Polymorphismus. Aber es gibt ein Thema, das mich verwirrt – statische Klassen.\n\nIn Lehrbeispielen sehe ich oft, dass sie für Helfer oder Konstanten verwendet werden. Zum Beispiel habe ich eine solche Klasse für mathematische Operationen geschrieben:\n\n```csharp\npublic static class MathHelper\n{\n public static double CircleArea(double radius)\n {\n return Math.PI * radius * radius;\n }\n\n public static double CelsiusToFahrenheit(double celsius)\n {\n return celsius * 9 / 5 + 32;\n }\n}\n```\n\nAber dann habe ich in Foren gelesen, dass statische Klassen die OOP-Prinzipien verletzen (insbesondere Dependency Injection und Testbarkeit) und man sie besser vermeiden sollte. Man