クラスの継承には、extendsを使う・・・。
まずBaseClass.javaに、
整数値iと文字列strを持つ基底クラスBaseClassを用意する・・・。
次にDerivedClass.javaに、BaseClassの派生クラスDerivedClassを定義する・・・。
継承するには、このように派生クラスの後に、extendsを付けて、さらに後ろに基底クラスを書く・・・。
DerivedClassでは、i, strに加えて、実数値のf、真偽値のbを持つようにする・・・。
コンストラクタは、
iとstrはBaseClassのprivateメンバなので、直接アクセスできないのでsetメソッドで初期値をセット・・・。
そして、fに0、bにfalseをセット・・・。
setメソッドも、
BaseClassのiとstrにアクセスできないので、BaseClassのsetメソッドを使う・・・。
引数が違うので、この場合はthisをつけなくてもBaseClassのsetであると認識してくれる・・・。
そしてthis.fに引数f、this.bに引数bをセット・・・。
outputにすると、引数が同じなので、区別のためにoutputAllと、BaseClassとは名前を変えている・・・。
BaseClassのoutputを呼んで、iとstrを出力した後、printlnでfとbを出力・・・。
オブジェクトderivedを生成・・・。
outputAllで、一旦出力・・・。
setで50, "ABCDE"をセット・・・。
呼ばれているのはBaseClassのsetメソッド・・・。
ここでoutputAllで、また出力・・。
100, "VWXYZ", 0.123f, trueをセット・・・。
引数が4つなので、DerivedClassのsetメソッドが呼ばれる・・・。
最後にoutputAllで出力・・・。
i = 0, str = - f = 0.0, b = false i = 50, str = ABCDE f = 0.0, b = false i = 100, str = VWXYZ f = 0.123, b = true
最初の2行は、値をセットしていないので、初期値がセットされている・・・。
次の2行は、BaseClassのsetなので、iとstrだけセットされている・・・。
最後の2行は、DerivedClassのsetなので、iとstrに加えて、fとbもセットされている・・・。
Sample/MainClass.java at master · bg1bgst333/Sample · GitHub
Sample/BaseClass.java at master · bg1bgst333/Sample · GitHub
Sample/DerivedClass.java at master · bg1bgst333/Sample · GitHub