Was ich an Klassen sehr schön finde ist die Kapselung (auch Encapuslation)
Wenn ich Daten in C in einer Liste halten wollte, musste ich mich erst für eine Variante entscheiden (linked List oder dyn. Array).
Dann eine Art Info-Teil schreiben
Code:
struct
{
void^ Location; // Location: Pointer;
int count; // count: Integer;
}
und dann ein paar Zugriffsmethoden die dann z.B. ein Element lieferten.
In C# hab ich dann nur ein List<T> (generische Liste) in der dann die ganze Funktionalität drin ist. z.B. Sortieren gibts direkt oben drauf
Und wenn ich z.B. mal nicht normal sortieren möchte, sondern z.B. eine stabile Sortierung brauche, kann ich einfach die Klasse ableiten und verändern - und trotzdem wir sie noch überall akzeptiert wo eine List<T> verlangt wird
(Ich hab zwar noch nie sowas abgeleitet, aber schematisch müsste es so gehen
)
Ich weis, der Vergleich C zu C# ist etwa so wie vom Urgroßvater zum Urenkel, aber ich hoffe ihr wisst was ich meine