Du hast mit Klassen mehr Flexibilität.
Ich schmeisse mal ein paar Begriffe der
OOP in den Raum:
Polymorphie, Kapselung und Vererbung.
Wenn du jetzt zB eine Prozedur hast, von der du die Farbe eines Fahrzeuges haben möchtest, könntest du sicher für jeden Record einer bestimmten Fahrzeugvariante übergeben.
Aber einfacher ist es doch, du hast eine Oberklasse Fahrzeug und dann Subklassen Auto, Motorrad usw. Somit kannst du alle in direkter Vererbungslinie stehenden Subklassen übergeben.
Weiterhin kannst du durch die Datenkapselung beiweitem besser auf die Sachen zugreifen. DU kannst durch deine Klassendefinition entscheiden wie und wann auf die Daten zugegriffen wird.
Weiterhin finde ich gerade die Vererbung sinnvoll. So kannst du allgemeingültige Oberklassen stets zu speziellen Subklassen ableiten und die vererbten Methoden entweder beibehalten oder manipulieren. So Sache wie Interfaces usw. kannst du mit Records ja gar nicht nutzen.
Da ich auch nebenbei mit C#/Java programmiere, bin ich eh der
OOP verfallen (Java ist nahezu durch und durch OO und C# zu 100%). Es erleichtert die Nutzung, verinfacht die Erweiterbarkeit, Wartung und den Austausch von Teilen der Software.
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.