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 mich scheinbar mit den Grundlagen der OOP vertraut gemacht: Klassen, Objekte, Vererbung, Polymorphismus. Aber es gibt ein Thema, das mich verwirrt – statische Klassen.
In den Lernbeispielen sehe ich oft, dass sie für Helfer oder Konstanten verwendet werden. Zum Beispiel habe ich eine solche Klasse für die Arbeit mit mathematischen Operationen geschrieben:
```csharp
public static class MathHelper
{
public static double CircleArea(double radius)
{
return Math.PI * radius * radius;
}
public static double CelsiusToFahrenheit(double celsius)
{
return celsius * 9 / 5 + 32;
}
}
```
Aber 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