Objective-C

詳解 Objective-C 2.0 第3版

詳解 Objective-C 2.0 第3版

まだ5章のARCのところ。
オブジェクトっぽいCということで、昔のプリプロセッサ使用のC++ぐらいで文法の味付けが違う程度なのかと思っていたが、結構違う。
コードを見て眺めても、見た目から違和感があって、面白い。

  • NSはNEXTSTEPから来てる。
  • メソッド周りは独特な感じ
  • メソッド呼び出しがメッセージ送信という雰囲気を出している。
  • メソッドの呼び出しが動的結合。実行時に決定される。
    • superは静的
  • 引き数/戻り値の型が違うが、同じ名前のメソッドは使わない。メソッド名や引数のラベルが違えば区別できる。
  • 第1引数にはラベルがなく、メソッド名に第1引数が目的語のように入る。initWithXXXX みたいの。
  • インスタンスの生成は alloc して、init
    • SymbianC++ でも new して、Construct(L) という二段階方式だったのであまり違和感はないか。
  • メンバ変数。@private/@protected/@public。デフォルトは @protected。

↑用語は正確ではないかも。

歴史的な重なり具合

Wikipediaより