戻る

クラスのオーバーライド
継承を使用したオーバーライド

2つのクラスを親クラスと子クラスに見立てます。
親クラスの機能を継承して子クラスのメソッドの機能をオーバーライドします。

[サンプル]
copy
class parent
{
	#num1 = 0;
	#num2 = 0;
	get num1()
	{
		return this.#num1;
	}
	set num1(num)
	{
		this.#num1 = num;
	}
	get num2()
	{
		return this.#num2;
	}
	set num2(num)
	{
		this.#num2 = num;
	}
	calc()
	{
		return this.num1 + this.num2;
	}
}

class child extends parent
{
	calc()
	{
		return this.num1 - this.num2;
	}

}
const cls1 = new parent();
cls1.num1 = 5;
cls1.num2 = 3;
console.log(cls1.calc());//8

const cls2 = new child();
cls2.num1 = 5;
cls2.num2 = 3;
console.log(cls2.calc());//2
継承のサンプルです。
parentクラス
継承元のクラスです。

childクラス
継承元のクラスの機能を引き継いだクラスです。

#num1 = 0;
#num2 = 0;
privateフィールドを用意して、直接parentクラスにアクセスできないようにしています。
このprivateフィードの値の取得更新をできるようにするため
getterおよびsetterを準備しています。

const cls1 = new parent();

parentクラスのみの実行です。
この親クラスのcalcメソッドを実行します。
return this.num1 + this.num2;

const cls2 = new child();
子クラスでオーバーライドされたcalcメソッドが実行されます。
return this.num1 - this.num2;




戻る


著作権情報
ホームページおよプリ等に掲載されている情報等については、いかなる保障もいたしません。
ホームページおよびアプリ等を通じて入手したいかなる情報も複製、販売、出版または使用させたり、
または公開したりすることはできません。
当方は、ホームペーよびアプリ利用したいかなる理由によっての障害等が発生しても、
その結果ホームページおよびアプリ等を利用された本人または他の第三者が被った損害について
一切の責任を負わないものとします。