Public/Protected/Private: Ein redundantes OOP-Feature?

2025-06-19

Dieser Artikel hinterfragt die Notwendigkeit von Zugriffsmodifikatoren (public, protected, private) in der objektorientierten Programmierung. Der Autor argumentiert, dass Interfaces und Vererbung kombiniert die gleiche Funktionalität erreichen können, ohne einen zusätzlichen Mechanismus zu benötigen. Die Existenz von Zugriffsmodifikatoren könnte auf ein Versehen im Design der Sprache Simula zurückzuführen sein, was zu redundanter Funktionalität führt. Für saubereren Code schlägt der Autor vor, Zugriffsmodifikatoren zu vermeiden und empfiehlt Komposition anstelle von Vererbung.

Mehr lesen
Entwicklung Zugriffsmodifikatoren

Vererbung: Ein versehentlicher Performance-Hack

2025-05-08

Simula erfand die Vererbung nicht für Code-Wiederverwendung oder Erweiterbarkeit, sondern um Probleme mit seiner einfachen Garbage Collection und intrusiven Listen zu lösen. Simulas Garbage Collector war zu einfach, um mit Zeigern auf Stack-Variablen umzugehen; um Abstürze zu vermeiden, wurden verschiedene Methoden der Parameterübergabe verboten, was die Ausdruckskraft einschränkte. Um intrusive Listen effizient zu verwenden, erfand Simula die „Präfixierung“ (Vererbung), die es Objekten ermöglichte, Listenknoten direkt zu enthalten und so zusätzliche Speicherzuweisung zu vermeiden. Daher war Vererbung zunächst eine Performance-Optimierung, keine Grundlage der OOP.

Mehr lesen
Entwicklung