【勉強】Objective-Cプログラミング言語(その3)
前回に引き続き、アップル純正の「Objective-Cプログラミング言語」を使った勉強です。
http://developer.apple.com/jp/devcenter/ios/library/documentation/ObjC.pdf
目次は以下です(再掲)。
序 章 はじめに
第 1章 オブジェクト、クラス、メッセージ
第 2章 クラスの定義
第 3章 オブジェクトの割り当てと初期化
第 4章 プロトコル
第 5章 宣言済みプロパティ
第 6章 カテゴリと拡張
第 7章 関連参照
第 8章 高速列挙
第 9章 静的な動作の実現
第10章 セレクタ
第11章 例外処理
第12章 スレッド化
今回は第 4章、第 5章を読みました。
印象的だったところを書き出してみます。
正直、「第 4章 プロトコル」についてはよく分かりませんでした。
現時点ではまだ理解ができる内容ではないようです。
今後、勉強とアプリ開発を進めていってより知識がついてからもう一度読みなおしてみたいと思います。
今完全に理解する必要はないですからね。
むしろ継続して勉強することが大切ですから。
書き込み可能性(75ページより)
readwrite
プロパティを読み取り/書き込み可能として扱うべきであることを示します。この属性はデ フォルトです。
@implementationブロックではgetterとsetterの両方のメソッドが必須です。実装ブロックで @synthesizeディレクティブを使う場合は、getterメソッドとsetterメソッドが合成されます。
readonly
プロパティが読み取り専用であることを示します。
readonlyを指定する場合、@implementationブロックではgetterメソッドだけが必須です。 実装ブロックで@synthesizeディレクティブを使う場合は、getterメソッドだけが合成されま す。また、ドット構文を使って値を代入しようとすると、コンパイラエラーが発生します。
プロパティについてはVisual Basic、Visual C#でよく使っています。
どうやらObjective-Cではwriteonlyのプロパティはないようです。
プロパティはあるクラスから他のクラスに値を渡すために使うものです。
そのクラス内ではどのように処理が行われるかは詳細は知らないくていい(カプセル化)わけなので
readonlyだけでなく、writeonlyもあった方が間違えてプロパティ値を書き換えたりしなくて済むので便利だと思うのですが仕方ないですね。
以上いろいろと勉強になりました。基礎は大切ですね。
まあ、このアップル純正の「Objective-Cプログラミング言語」はあくまでプログラムの概念を説明するものです。
他の言語を知っている人がその言語とObjective-Cがどのように概念的に違うかということを知る場合はよい教科書ですが、全く言語を知らない状況で読んでもつらいと思います。。。
また、この教科書を完璧にしてもiPhoneアプリ開発でボタンの配置のすらできません。
あくまで概念のみのものです。
Objective-Cについて実用面を磨いていきたい場合は書籍を読まれることをお勧めします。
例えば、てぃーも持っている「XcodeによるObjective-C入門」がいいですね。
XcodeによるObjective-C入門
(2010/01/23)
大津 真
商品詳細を見る
また、最近はObjective-Cについての本もたくさんでているのでネットで気に入ったものを買われるのがいいと思います。
てぃーもこの前書店で立ち読みしてみましたが、次の本は質がよく、近いうちに購入して挑戦しようと思っています。
勉強あるのみですね!!
詳解 Objective-C 2.0 改訂版
(2010/12/17)
荻原 剛志
商品詳細を見る
世界一わかりやすいObjective‐Cプログラミングの授業
(2011/01)
Lepton
商品詳細を見る
↓この記事が参考になったら拍手をクリックお願いします。今後のブログ作りに役立てたいので。
- 関連記事
-
- 【勉強】Objective-Cプログラミング言語(その4/最終回)+おすすめの本 (2011/05/31)
- 【勉強】Objective-Cプログラミング言語(その3) (2011/05/27)
- 【勉強】Objective-Cプログラミング言語(その2) (2011/05/26)
- 【勉強】Objective-Cプログラミング言語(その1) (2011/05/25)