More Related Content
More from Takatoshi Hattori (10)
第19回 ビギナー勉強会のサルでき補足資料( iPhoneアプリ開発超入門 | クラスってなに?)
- 9. 9
※「オブジェクト指向でなぜ作るのか」平澤 章 (著) 参考。 06年に買った本。
今をときめく Objective-C のワードは、参考文献の紹介部に一瞬だけ登場します。
・機械語
・アセンブリ言語登場
・FORTRAN登場
1940年代
1949年
1957年
プログラミング言語の歴史※
マイクロプロセッサーが
解釈できるのは機械語だけ
A10010
8B160210
01D0
A10410
MOV AX, X
MOV DX, Y
ADD AX, DX
MOV Z, AX
Z = X + Y
数式そのままで分かりやすい。品質・生産性も向上➚
数字の命令を
記号に割り当て
人が読みやすいコードを
機械語に変換するのが言語。
但し、機械語直書き同等の
実行効率は無いようです。
数字の羅列
x86ARM
- 14. 14
クラス1
インスタンス
変数A
メソッド1 メソッド3 メソッド5
もうちょっと詳しく・・・クラスとインスタンス
インスタンス
変数B
インスタンス
変数C
処理
公開 公開 非公開
公開 非公開 非公開
ローカル
変数
ローカル
変数
ローカル
変数
クラスを使用する場合は、その
クラスに必要なメモリの領域を
確保して使います。
それをインスタンス(実体)とか
オブジェクトとか言います。
さらに、何個でも大量に
生成できます。
クラスは「変数+メソッド」の雛形です。
インスタンス変数や、メソッドは、クラスの外から
見て、必要なものだけ公開することができます。
必要ないものは、見えない化をするのが大事!
クラスから生成した
インスタンス
UILabel *Label = [[UILabel alloc] initWithFrame:CGRectMake(,,,)];
UILabel型のポインタ変数Label に、UILabelクラスのメモリ領域を確保してその番地をセットします。
alloc + init
ラベルの生成
でいうと、
- 17. 17
Objective-Cのクラス定義を再確認
☆クラスのインターフェース部 ¦ ヘッダーファイル (∼.h) に記述します
ヘッダーファイル(∼.h)と実装ファイル(∼.m)でワンセットです。
@interface クラス名 : スーパークラス <プロトコル>
{
インスタンス変数;
インスタンス変数;
・・・
}
-(戻り値の型)メソッド名;
-(戻り値の型)メソッド名;
・・・
@end
「カスタムメソッドの宣言」。
スーパークラスのメソッドは
定義部に宣言不要
(スーパークラスで宣言済み)。
「クラスが保持するインスタンス
変数は{ }の中に記述します。