Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03580.jsonl.gz/774

Eine Klasse sollte prinzipiell in sich geschlossen bleiben, damit niemand an bestehendem und funktionierendem Code etwas ändern darf bzw. sollte.
Sollte aber trotzdem eine Erweiterung notwendig sein, so muss die Klasse soweit stabil sein, damit andere Entwickler problemlos darauf basierende Subklassen erstellen können. Über diese Subklassen dann die bestehende Funktionen überschreiben können.
Das OCP über Subklassen sollte über die Vererbung oder noch besser einer Komposition realisiert werden.
Das OCP-Prinzip kann aber auch innerhalb der bestehenden Klasse angewandt werden, in dem die bestehenden Methoden bleiben wie sie sind und weitere Methoden hinzukommen, die die bestehenden Methoden erweitern oder überschreiben.