1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Swiftメモ:クラスの継承 〜鳥🐥とオードリー👦👱‍♂️で継承を理解する〜

Last updated at Posted at 2020-01-26

クラスの継承とは?

新しいクラスを作成する際に、似たようなプロパティやメソッドを持つクラスがあった場合、それを流用するためにクラスの継承を行います。
元になるクラスのプロパティやメソッドを引き継いだまま、さらに追加したいプロパティ・メソッドを定義して使用することが可能です。
スクリーンショット 2020-01-26 18.16.00.png

鳥🐥とオードリー👦👱‍♂️の鳴き声(?)で継承を実践

理解のためにplaygroundで継承を実施してみました。
鳥クラスとオードリークラスを用意し、継承元のクラス(鳥クラス)と継承先のクラス(オードリークラス)の違いをみたいと思います。

import UIKit
//鳥クラス
class Bird {
    var name = ""
    
    func bark(_ names: String) {
        print("🐥:\(names)です!ぴよぴよ!")
        print("=========================================================")
    }
    
}

//オードリークラス
class Audrey: Bird{
    override func bark(_ names: String) {
        print("👱‍♂️:\(names)です!トゥース!")
    }
    
    func wakabayashi(){
        print("👦:これスルーでいっちゃいますけれどもね")
        print("=========================================================")
    }
}

var bird1 = Bird()
bird1.name = "ひよこ"
bird1.bark(bird1.name)

var bird2 = Audrey()
bird2.name = "春日"
bird2.bark(bird2.name)
bird2.wakabayashi()

【実行結果】
スクリーンショット 2020-01-26 18.52.04.png

見事にbird1ではひよこを、bird2ではオードリーを鳴かせることができました。

今回のポイント❗️

・クラスの継承の記述方法
 クラスの継承を行うには

    class 継承先**: 継承元**{}

 というように継承元の記述が必要になります
  今回の場合ですと、Audreyクラスの後ろに継承元のBirdクラスを記述しています。
 そうすることで若林さんのツッコミメソッドを追加して使用することができます。

//オードリークラス
class Audrey: Bird{
    override func bark(_ names: String) {
        print("👱‍♂️:\(names)です!トゥース!")
    }
    
    func wakabayashi(){
        print("👦:これスルーでいっちゃいますけれどもね")
        print("=========================================================")
    }
}

・barkメソッドのオーバーライド
override func メソッド名{
変更したい処理内容を記述
}
オードリークラスでbarkメソッドをオーバーライドすることで
 鳴き声を変更することができます。

まとめ

継承を使えば基本のインスタンスにどんどんプロパティ・メソッドを追加できる!
継承ってすごい!オードリーっておもしろい!!

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?