Objective-C
- 作者: 荻原剛志
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2011/12/23
- メディア: 単行本
- 購入: 14人 クリック: 98回
- この商品を含むブログ (25件) を見る
オブジェクトっぽいCということで、昔のプリプロセッサ使用のC++ぐらいで文法の味付けが違う程度なのかと思っていたが、結構違う。
コードを見て眺めても、見た目から違和感があって、面白い。
- NSはNEXTSTEPから来てる。
- メソッド周りは独特な感じ
- メソッド呼び出しがメッセージ送信という雰囲気を出している。
- メソッドの呼び出しが動的結合。実行時に決定される。
- superは静的
- 引き数/戻り値の型が違うが、同じ名前のメソッドは使わない。メソッド名や引数のラベルが違えば区別できる。
- 第1引数にはラベルがなく、メソッド名に第1引数が目的語のように入る。initWithXXXX みたいの。
- Coding Guidelines for Cocoa: Naming Methods
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingMethods.html#//apple_ref/doc/uid/20001282
- Coding Guidelines for Cocoa: Naming Methods
- インスタンスの生成は alloc して、init
- メンバ変数。@private/@protected/@public。デフォルトは @protected。
↑用語は正確ではないかも。
歴史的な重なり具合
- C言語は1972年誕生。K&Rが1978年。その後、C89とかC99。
- C++は1983年誕生。「プログラミング言語C++」1985年。C++98、C++03、C++11。
- Objective-Cは1983年誕生。「Object-oriented Programming」1986年?。Objective-C 2.0が2005年?〜2007年?