Vererbung wird in Javascript über Prototypen realisiert
Kann realisiert werden! Nicht wird realisiert! Realisieren kann ich das auch über den Konstruktor.
Nö, du sprichst von Mixins. Echte Vererbung, nach Maßstäben des instanceof-Operators, funktioniert nur über Prototypen.
und ich weiß nicht, wie sich das nach irgendeiner Definition von OOP strikt auseinander halten lässt.
Was lässt sich nicht auseinander halten? Den Teil verstehe ich nicht ganz.Und was ist diese fundamentalste Regel?
Kapselung!
Folgender Abschnitt wird wieder sehr ideologisch.
Kapselung spielt ausschließlich bei der Implementation, nicht aber bei der Spezifikation, eine Rolle. Datenkapselung dient somit nur dazu, die Implementation vor der Schnittstelle zu verstecken. Es ist nur Komfort, aber kein Muss. Infolgedessen betrachte ich es auch nicht als eine der fundamentalsten (Superlativ!) Regeln der OOP.