クラスの実装部の説明。
@interfaceの記述はクラスのインタフェースの記述。
この部分はAPI(Application Programmig Interface)またはTLA(Three-Letter Acronym)とも呼ばれる。
それに対してクラス内のオブジェクトの実際の仕事を@implementationで記述している。
@implementation Circle
このようにクラス名を@implementationのあとに記述する事でコンパイラに「ここがCricleクラスの肝だぞ」と宣言する。ここでは変数を扱う事が合っても「:」を付ける必要は無い。
それ以降は具体的なメソッドの記述になるが、もちろん@interfaceで宣言したメソッドを記述できる。その際に宣言した順番と記述する順番は異なっても構わない。
setFillColor:
最初のメソッドの記述。@interfaceで宣言した通り「:」 付きで宣言をする。C言語の記述のようにここでは最後に「;」を付ける必要は無い。また、変数の名前も変わっても構わない。
この場合は内部でcという変数を使っているのでそのままにするとエラーになってしまう。
ただ、、、なぜここでわざわざcという変数を代入しているのかが分からない。。。
その次のsetBoundsメソッドでも同じような記述はあるのだが。。。
最後にdrawメソッドの記述。
ここではこれまでに宣言したboundやfillColorをコンソールに表示するだけ。
つまり変数を直接扱う事はしていないので、前述の通り「:」を付けないのだ。
0 件のコメント:
コメントを投稿