といっても難しいですね。簡単にまとめてみます。
- クラス:同じインスタンス変数、メソッドを持つオブジェクトの集合(種類)
- メンバ:あるオブジェクトは、特定の種類のクラスのメンバ
- オブジェクト:データ(インスタンス変数)と操作(メソッド)を一塊にしたもの。実行時に動的に「インスタンス」として生成される。型: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 件のコメント:
コメントを投稿