クラス定義の頭にabstractキーワードを付けることで、不完全な状態でクラスを定義できる・・・。
抽象クラスといって、クラスの概要(メソッドの宣言など)だけを定義して、派生クラスで具体的な実装を書く時などに使う・・・。
こんな風に、outputとsetを持った抽象クラスAbstractClassを定義する・・・。
outputとsetの中身は何も実装しない・・・。
中身を実装した派生クラスDerivedClass1を定義する・・・。
outputは、
こうなっている・・・。
もうひとつ、
DerivedClass2を定義・・・。
outputは、
こうなっている・・・。
MainClass.javaで、
AbstractClassのabstract1に、DerivedClass1のインスタンスを入れる・・・。
setで10, "ABC"をセット・・・。
outputで出力・・・。
今度はAbstractClassのabstract2に、DerivedClass2のインスタンスを入れる・・・。
setで20, "XYZ"をセット・・・。
outputで出力・・・。
i = 10, str = ABC [i, str] = [20, XYZ]
上はDerivedClass1のoutputにオーバーライドされている・・・。
下はDerivedClass2のoutputにオーバーライドされている・・・。
Sample/MainClass.java at master · bg1bgst333/Sample · GitHub
Sample/AbstractClass.java at master · bg1bgst333/Sample · GitHub
Sample/DerivedClass1.java at master · bg1bgst333/Sample · GitHub
Sample/DerivedClass2.java at master · bg1bgst333/Sample · GitHub