0Pricing
Objective-C iOS Development for Legacy & Enterprise Apps · レッスン

継承とメソッドのオーバーライド

サブクラス化によってObjective-Cのクラス階層を構築し、継承したメソッドをオーバーライドして、superを使ってスーパークラスを呼び出します。

「継承とメソッドのオーバーライド」はCoddyKit上の無料Objective-C iOS Development for Legacy & Enterprise Appsレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはObjective-C iOS Development for Legacy & Enterprise Apps学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Objective-C iOS Development for Legacy & Enterprise Appsコースには全4レッスンが含まれています。

このレッスンの一部はまだ翻訳されておらず、英語で表示されています。

What is Inheritance?

Inheritance lets a class reuse and extend another class. The new subclass gets all the methods and properties of its superclass, then adds or changes behavior.

Declaring a Subclass

The colon syntax in the interface declares the superclass. Here Dog inherits from Animal.

@interface Dog : Animal
- (void)fetch;
@end

Inherited Members

A subclass automatically has the superclass's public methods and properties — no need to redeclare them.

Dog *d = [[Dog alloc] init];
[d eat];   // inherited from Animal
[d fetch]; // defined on Dog

Overriding a Method

To change inherited behavior, redeclare a method with the same name in the subclass. This is overriding.

@implementation Dog
- (void)makeSound {
  NSLog(@"Woof!");
}
@end

Calling super

Use super to invoke the superclass version, extending rather than replacing its behavior.

- (void)makeSound {
  [super makeSound];
  NSLog(@"...and wags tail");
}

Overriding init

Custom initializers almost always call [super init] first to set up inherited state, then add their own.

- (instancetype)init {
  self = [super init];
  if (self) {
    _legs = 4;
  }
  return self;
}

Polymorphism

A superclass-typed variable can hold any subclass instance. The correct overridden method runs at runtime — this is polymorphism.

Animal *pet = [[Dog alloc] init];
[pet makeSound]; // prints Woof!

The instancetype Return

Initializers return instancetype, which adapts to the actual class being created — safer than hardcoding the type.

+ (instancetype)dogWithName:(NSString *)name;

Checking Class at Runtime

Objective-C is dynamic. You can ask an object about its class.

if ([pet isKindOfClass:[Dog class]]) {
  NSLog(@"It is a dog");
}

NSObject the Root

Almost every class ultimately inherits from NSObject, which provides core behavior like alloc, init, isEqual:, and memory management hooks.

Designing Hierarchies

Favor shallow hierarchies. Use inheritance for genuine is-a relationships; for shared behavior across unrelated classes, prefer protocols and categories instead.

Quick Check

Test your inheritance knowledge.

Recap

You learned inheritance in Objective-C:

  • Subclass with the : Superclass syntax
  • Inherited methods and properties come for free
  • Override methods to change behavior
  • Use super to extend the parent version
  • Polymorphism picks the right method at runtime

Inheritance and polymorphism are pillars of OOP in Objective-C.

よくある質問

「継承とメソッドのオーバーライド」レッスンは無料ですか?

はい。「継承とメソッドのオーバーライド」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Objective-C iOS Development for Legacy & Enterprise Appsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Objective-C iOS Development for Legacy & Enterprise Appsコースには全4レッスンが含まれています。

「継承とメソッドのオーバーライド」で何を学びますか?

サブクラス化によってObjective-Cのクラス階層を構築し、継承したメソッドをオーバーライドして、superを使ってスーパークラスを呼び出します。 ブラウザで直接実行するハンズオンコードでObjective-C iOS Development for Legacy & Enterprise Appsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Objective-C iOS Development for Legacy & Enterprise Appsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのObjective-C iOS Development for Legacy & Enterprise Appsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「継承とメソッドのオーバーライド」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このObjective-C iOS Development for Legacy & Enterprise Appsレッスンでコードを書いて実行できますか?

はい。すべてのObjective-C iOS Development for Legacy & Enterprise Appsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. クラス、オブジェクト、メソッド
  2. プロパティとインスタンス変数
  3. プロトコルとカテゴリ
  4. 継承とメソッドのオーバーライド
← Objective-C iOS Development for Legacy & Enterprise Appsに戻る