心はいつもAirPucci (空元気でもいいから)

毎日がPucciを着ているような気分

詳解 Objective-C 2.0 第3版 CHAPTER3 継承とクラス

   


[]多用といいメッセージキーワードといい、やっぱObjective-Cってキモチワルイ。これになれてむしろいいみたいにならんといかんのだわ。なれそうな気もするし、ずっとキモイままの気もする。。

p37からはCHAPTER3継承とクラスでななめよみでいいかと。

p38
03-01 継承の概念

p40
03-02 継承を用いたクラス定義

Cocoa環境のルートクラスはNSObject

このNSなんちゃらっていうのがいっぱい出てくるのもObjective-Cのキモいところ。NSってなんの略だろ?
=>おお!NextStepでした。忘れてはいけない。そして本当にしつこくてキモい!

p41
全てのクラスは継承しているクラスを書かなくちゃいけない。すんごいめんどくさいわ。特に継承したいクラスがない場合はNSObjectでよい。ひどいわ。

@interface Volume : NSObject
{
    int val;
    int min, max, step;
}

- (id)initWithMin:(int)a max:(int)b step:(int)s;
- (int)value;
- (id)up;
- (id)down;
@end

本当に、: NSObject って書いているし。なんとムダの多い言語でしょう。美しくない。

p44
継承を行っていると、親クラスというか、継承しているクラスのメソッドを呼び出してから自分の処理をしたり、場合分けして、親クラスの処理をするか自分クラスの処理をするか、とかしたい時がある。ややこしい。
親クラスのメソッドを実行するとき、
[super method];と書く。

で、どれをさしてsuperっていうかだけど、
継承している直前のクラス、っていうわけじゃない。method1,2があるclass Aを継承したclass Bが、method2を変更しているとき、classBを継承したclass Cで[super method2]すると、class Bにはmethod2がないのでclass Aのmethod2を読み出す。

実験プログラムlist3-6がある。

p53
03-05 メソッド定義に関する注意
「下請けっぽいメソッド」って書いてある。@interfacに含めるまでもない、実に内部的なメソッドのこと。
そういうのは、@implementationでいきなりメソッドを書いてしまう。内部メソッドにはそのプロジェクトで決めたそれとわかる接頭語をつけるのがコーディング推奨。

p54
指定イニシャライザ

こういうのもあるってことで、必要になったら読み返す。

 - テクニカル

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

no image
MacBookAirにMacAppStoreからソフトをダウンロード

MacBookAir 10日目。快調です。 WindowsからMacの移行でつま …

no image
RailsTutorial4.0を高速で復習する。6.3章。

6.3セキュアなパスワードを追加する、です。 パスワードはセキュアであるべきと思 …

Mac mini買いました。

Appleの新製品発表が近づいているというのに、Mac mini買ってしまいまし …

no image
RailsTutorial4.0を高速で復習する。5.6章。演習2問目のつづき。

5.6章。演習2問目です。TDDにこだわり、あえてこの問題をするまで、ヘッダーや …

no image
いまだにユビキタスなSONYとクラウドに向かうApple

PS3のトルネが良さそう@ヤマダ電機。PS3本体とチューナーの2台になってスッキ …

no image
Rubyの%を使う記法のうち、 %w

Rubyで%を使う記法は、たのるー(たのしいRuby)によると、以下の6通り % …

no image
テンプレとヘルパーの順番

http://yourdomain/actionxを呼んだときのactionx用 …

Provisioning fileが作成できない!

iPhoneアプリを公開するために、itunes connectでProvisi …

no image
RailsTutorial4.0を高速で復習する。3.3.4章。

3.3.4レイアウトを使って重複を解消する、です。 ここでapplication …

OpneSSL,Readline,Libyamlをインストールする

先ほどインストールしたHomebrewを使って、rbenvをインストールしたいと …