2010年4月24日土曜日

Objective-Cの概念

iPhoneのコーディングには、Objective-Cの理解が欠かせないようです。
といっても難しいですね。簡単にまとめてみます。
  • クラス:同じインスタンス変数、メソッドを持つオブジェクトの集合(種類)
  • メンバ:あるオブジェクトは、特定の種類のクラスのメンバ

    • オブジェクト:データ(インスタンス変数)と操作(メソッド)を一塊にしたもの。実行時に動的に「インスタンス」として生成される。型:id (isa変数), 通常オブジェクト名で宣言する。ex. Rectangle *myRectangle;
      • インスタンス変数:オブジェクトの状態を保持するデータのこと(通常隠蔽される)ただし、以下の4段階で解放される。
        • @private ....  クラス内のみ
        • @protected …  クラス及び継承するクラス(デフォルト)
        • @package... クラス実装内のどこからでもアクセス可
        • @public … どこからでもアクセス可
      • メソッド:オブジェクトを操作する関数(機能)のこと。オブジェクトには原則メソッドを使ってアクセスする。

        • スーパクラス:あるクラスの親(継承元)となっているクラス
        • サブクラス:あるクラスを継承して作成したクラス
          • メソッドの同一名称による宣言:サブクラスでのメソッドのオーバライド(インスタンス変数はオーバライドできない)
          • super:オーバライドしていても、スーパクラスからメソッドを検索する。
          • self:自分からメソッドを検索する。

          • インスタンス:オブジェクトを実行するために、メモリ上に展開されたオブジェクトの実体
          • インスタンスの生成:allocメソッド(インスタンス変数を全て0にする)、及びinitメソッド(完全に初期化する)を用いる。id  xxxx  = [[ クラス名 alloc] init]、または、オブジェクト名* xxxx = [[ クラス名 alloc] init]
          • クラスオブジェクト:クラス毎にそのクラスのインスタンスを生成/管理するオブジェクト

          • オブジェクトメッセージング:オブジェクトに対するメソッドの実行指示
            • 構文:[ receiver message ];
            • receiver:オブジェクト名
            • message:メソッドと引数。メソッド名(セレクタとも言う):引数 で表現される。引数が複数ある場合:「メソッド名X:Y:」 で実装または、コロンで区切って実装 [receiver メソッド名: x, y, z]

            0 件のコメント:

            コメントを投稿