Subtyping für Werte: Mehr Ausdrucksstärke, mehr Sicherheit

Exzellenter Artikel von Beate Ritterbach (https://heise.de/-3273406) über die Ambivalenz objekt-orientierter Hochsprachen insbesondere wenn es um das Thema Vererbung geht. Hier werden Problemmuster erwähnt auf die ich schon in ähnlicher Weise gestossen bin. Bei OOP kommt es häufig zu zwei Extremen, entweder Vererbung wird ganz ignoriert oder sie wird mißbräuchlich verwendet, einfach aus Unkenntnis der doch recht diffusen und schwer greifbaren Regeln die dahinter stehen.
Hier sehr schön als Injektivität und Verhaltenskomformität beschrieben, übrigens die Verwendung mathematischer Begriffe als Analogie finde ich sehr gelungen. Bei Verhaltenskonformität z.B. spreche ich oft von kommutativen Operationen.
Auch das Kapitel über Gleichheit ist hochinteressant denn häufig wird es falsch implementiert weil der Unterschied zwischen identischen Instanzen und Instanzen mit identischem Inhalt nicht deutlich ist. Das Gleiche ist eben nicht dasselbe 🙂