わかりました。したがって、これはプログラマにとって主観的な十分な質問ですが、ここに行きます。私は言語とソフトウェアエンジニアリングの実践に関する知識を継続的に広げています...そして、私にはまったく意味をなさない何かに出くわしました。
C ++では、クラス宣言private:
のヘッダーファイルにメソッドとパラメーターが含まれます。これは、理論的には、ユーザーに渡してlibにした場合に含めるものです。
Objective-Cでは、@interface
sはほぼ同じことを行い、プライベートメンバーのリストを強制します(少なくとも、実装ファイルにプライベートメソッドを取得する方法があります)。
私が伝えることができることから、JavaとC#では、すべてのパブリックにアクセス可能なプロパティ/メソッドを宣言できるインターフェイス/プロトコルを提供でき、コーダーが実装ファイル内のすべての実装の詳細を隠すことができます。
どうして?カプセル化はOOPの主要な原則の1つですが、なぜC ++とObj-Cにこの基本的な能力が欠けているのですか?Obj-CまたはC ++で、すべての実装を隠すベストプラクティスの回避策がありますか?
おかげで、