OK, hoffentlich ist dies eine subjektive Frage für Programmierer, aber hier geht es weiter. Ich erweitere ständig meine Kenntnisse in Sprachen und Software-Engineering-Praktiken ... und bin auf etwas gestoßen, das für mich überhaupt keinen Sinn ergibt.
In C ++ enthalten Klassendeklarationen private:
Methoden und Parameter in der Header-Datei, die Sie theoretisch an den Benutzer übergeben, um sie einzuschließen, wenn Sie sie zu einer Bibliothek machen.
In Objective-C machen @interface
s fast dasselbe und zwingen Sie dazu, Ihre privaten Mitglieder aufzulisten (zumindest gibt es eine Möglichkeit, private Methoden in die Implementierungsdatei aufzunehmen).
Nach allem, was ich sagen kann, können Sie mit Java und C # eine Schnittstelle / ein Protokoll bereitstellen, die alle öffentlich zugänglichen Eigenschaften / Methoden deklarieren und dem Codierer die Möglichkeit geben, alle Implementierungsdetails in der Implementierungsdatei auszublenden .
Warum? Die Kapselung ist eines der Hauptprinzipien von OOP. Warum fehlt C ++ und Obj-C diese grundlegende Fähigkeit? Gibt es eine Art Best-Practice-Workaround für Obj-C oder C ++, die die gesamte Implementierung verbirgt ?
Vielen Dank,