書くというのがこれまでのルールでした。典型的な例として、以下のように書いていました。*aString;}...@end宣言済みプロパティの場合は自動生成されますから、書く必要はありません。外部からアクセスする際にはアクセサを通すべきで、普通はプロパティを使いますから、インスタンス変数は隠蔽しておきます。日本語ドキュメントにも書いてあります。プログラミング言語』の35ページ、クラスインターフェースの注記として書かれた部分には以下のようにあります(強調は筆者による)。インスタンス変数は実装詳細であり、通常、クラス自身の外からアクセスされることはありません。実装ブロック内に宣言すること、あるいは宣言済みプロパティから自動生成させることも可能です。したがって通常は、インスタンス変数宣言をパブリックインターフェイスで行うべきではないので、波括弧も省略してください。37ページのクラス実装の項に、実装ブロックでのインスタンス変数の宣言について書かれています。インターフェース部に宣言しない局所的なメソッドを実装するには、カテゴリを用いるのが常識でした。ヘッダにはメソッド宣言を書かず、実装部のすぐ前に無名のカテゴリを作って、そこでメソッドの宣言をしていました。これまではメソッドの宣言をしない場合、メソッドの定義より前でメソッドを呼び出そうとするとコンパイラが警告を出していたためです。2.0』などでも取り上げられています。プログラミング言語』を参照してみます。36ページにインターフェースの役割として以下のような記述があります(強調は筆者による)。メソッド宣言のリストを通して、インターフェイスファイルはほかのモジュールに、どのようなメッセージをクラスオブジェクトとクラスインスタンスに送信できるかを知らせます。クラス定義の外部で使用できるすべてのメソッドを、インターフェイスファイルで宣言します。クラス実装の内部で使用するメソッドは省略できます。省略できる、と書いてあります。コンパイラを選んだときは警告が出ません。なって賢くなったと言うことでしょうか。サブクラス化したとき不用意にオーバーライドしてしまわないように、メソッド名に接頭辞を付けるとかそういうことをした方が良いことに代わりはありません。今回取り上げたこと以外にも、変わっていることがまだあるかもしれません。ように目立った機能でなければ、残念ながらあまり取り上げられることもありません。ランタイムのちょっとした変更などは滅多に話題になりません。流行に乗り遅れないためには日々の勉強が肝要ですね。プログラミング言語』がとても参考になることが分かりました。今回参照したのは2011年10月12日の版です。ファイルを一括ダウンロードできるスクリプトを用意したので、使ってみるのも良いですね。ライブラリがあれば動きます。アクセス可能な気がする。WordPressメールで送信お名前メールアドレスキャンセル投稿を送信できませんでした。メールアドレスを確認してください。メール送信チェックに失敗しました。このブログではメールでの投稿共有はできません。%d人のブロガーが「いいね」をつけました。