1日30分英語

習慣化するために

P285-303 抽象クラスとクラスクラスタ

抽象クラス

  • 特にコード上は他のクラスと変わらない。インスタンスも作れる。

クラスクラスタ

  • 同じインターフェースを持ち、同じ機能を提供する複数のクラスの集合体。
  • 基本的なクラスの多数がクラスクラスタ
  • リファレンスにクラスクラスタと書かれてないのにクラスクラスタだったりもする。
  • isMemberOfClassでどういう結果になるか分からない。
  • サブクラスが普通に作れない。2通りのやり方で対処。
    • カテゴリで対応する
    • プリミティブメソッドを再定義する
      • プライベートなデータ構造を決める
      • イニシャライザを定義する
      • コンビニエンスコンストラクタを定義する
      • プリミティブメソッドを定義する
      • その他のメソッドを定義する

クラスクラスタとか知らなかったし、意識した事もなかったけど、適切なパフォーマンスを出すために裏で実際に使っているクラスを切り替えているんだろうなと思った。

詳解 Objective-C 2.0 第3版

詳解 Objective-C 2.0 第3版