テックキャンプ133日目〜クラスの継承

kobasaです(´ω`*)
また暑くなってきましたね。
陽が落ちるのは早くなってますが、あまり秋っぽくないですね。
体調に気をつけて過ごしたいです。

133日目の勉強内容

クラスの継承について

class Fish{
	func swim(){
             # swim機能の中身
	}
}

class Fugu:Fish{
	override func swim(){
		super.swim()
		poison()
	}
	func poison(){
	    # poison機能の中身
	}
}

class Fugu:Fishと記述することで
Fuguクラス(子クラス)はFishクラス(親クラス)を継承したことを表す。

クラスを継承することで子クラスは親クラスが持っていたswimメソッドを使用できる。
override func swim()の記述ではswimメソッドは継承するが、
上書きして自分のクラスで自由に値を設定するという意味。

super.swim()の記述をすると親クラスのswimメソッドを実行した上で、その下のプログラムのpoisonメソッドを呼ぶとこができる。
super.swim()を記述しなければ、親のswimメソッドの処理は実行されず、子のswimメソッドの処理のみ実行される。

メソッドの引数のみを使用したいときなどでsuperを使用しない場合もある。

コメント

タイトルとURLをコピーしました