ポールの講義は本当に素晴らしいと思います..質問があるのですが、もしよろしければ誰かが答えてくれるかもしれません.. 講義 4 で、新しい API を CalculatorBrain クラスに実装するときに、(id)program プロパティが宣言されたのはなぜですか?ヘッダー ファイル (パブリック プロパティにする)、programStack プロパティのように実装ファイルで宣言しないのはなぜですか。また、実装ファイルで宣言されているプロパティ (基本的には programStack などのプライベート プロパティ) のアクセサ メソッドは公開されていますか? 彼がインスタンスメソッド「performOperation」でself.programスタックを呼び出しているのがわかります)。誰かが助けてくれれば本当にありがたいです。:)
質問する
51 次
1 に答える
2
properties declared in header and implementation file
In header は、他のすべてのクラスで使用できることを意味します。これらは、アクセス指定子 ( @publilc 、 @protected ) に従って、保護されているか公開されています。
実装ファイルでは、外界に対して隠蔽されます。(これらは非公開なので継承されません)
理論上: ヘッダー ファイルは、クラスのパブリック インターフェイスのみを公開する必要があり、それ以外はすべて実装に属します。
また、実装ファイルの ivar はサブクラスからは見えません。これは、サブクラス化する必要があるセッターとゲッターを手動で生成した場合、少し扱いにくい場合があります。
于 2013-01-14T12:52:37.547 に答える