継承のお話(1) | 初心者がiPhoneアプリを作るブログ

初心者がiPhoneアプリを作るブログ

初心者がiPhoneアプリを作るブログです.
入門レベルですので開発初心者にも,できるだけ分かるように丁寧に説明していきます(多分).

このエントリではクラスの継承についてお話します.

オブジェクト指向言語を扱える方にとっては意味のない話になるかもしれませんが,

Objective-Cの書き方を勉強する気持ちでご覧下さい笑

さて,継承とは...難しいですね笑

クラスAを継承したクラスBがあるとすると,クラスBはクラスAの性質を継承しています.
例えば,UIViewを継承したUIImageViewというものがあるとします.
UIImageViewはUIViewの性質を継承していますので,
プロパティ
「.backgroundColor」
関数
「["UIViewのインスタンス" addSubview]」
なんかが使えます.

あー説明へたくそですね....ゴメンナサイ

と,いうことで,実際のコードで説明しまーす.

さて,継承を確認するために,前回作成した
MyFirstClassを継承したMySecondClassを作成しましょう.

まず前回の「プロパティのお話」シリーズの時に作成した時のプロジェクトにファイルを追加します.

「Objective-C class」を選択して,名前は「MySecondClass」としましょう.
Subclass of NSObject で作成しましょう.

ではMySecondClass.hから書いていきましょう.
#import <Foundation/Foundation.h>
// ここでMyFirstClassをインポートします
#import "MyFirstClass.h"
//                         ここでMyFirstClassを継承します
@interface MySecondClass : MyFirstClass{
    float myFloat;
}


@property (unsafe_unretained, readwrite) float myFloat;

@end


まず,MyFirstClassは自作クラスなので,MyFirstClass.hをインポートします.

次に,MySecondClassはMyFirstClassの継承クラスであることを宣言するために
//                         ここでMyFirstClassを継承します
@interface MySecondClass : MyFirstClass{

NSObjectと書かれていた部分をMyFirstClassと書き換えます.
これで,継承ができます.

ここで気づく人もいると思いますが,今まで作成したファイルは,作成する際に
Subclass of NSObject を選びましたので,NSObjectを継承したクラスだった訳です.

その後に,MySecondClassのプロパティを追加します.
もうここの説明はいりませんよね.

次の記事ではMySecondClass.mについて説明します.

次の記事へ

HOMEに戻る