JAVA

extendsを使ってみる

スーパークラスから拡張したクラスを作ってみます。

下記のようなテストコードを書いて実行してみます。

[c]
public class SuperClassTest{

public static void main(String[] args) {

//オブジェクトのインスンタンスを生成する
TestClassChild tcc = new TestClassChild();

tcc.PrintTextC();
tcc.PrintTextP();

}
}

class TestClassChild extends TestClassParent
{
TestClassChild() {
//引数なしコンストラクタ用

}

void PrintTextC() {
System.out.print("PrintTextC !! \n");
}

void PrintTextP() {
System.out.print("PrintTextP !! \n");
}

}

class TestClassParent
{
TestClassParent() {
//引数なしコンストラクタ用

}

void PrintTextP() {
System.out.print("PrintTextP !! \n");
}
}
[/c]

メインの処理の「SuperClassTest」のクラスの中から「TestClassChild」のクラスのインスタンスを生成して、そのTestClassChild内のメソッドを呼びました。

結果は
[c]
PrintTextC !!
[/c]
という表示がされ、TestClassChild内のメソッドを呼べていることがわかります。

次にに、TestClassChildクラスが継承している「TestClassParent」クラスのメソッドも、同じTestClassChildインスタンス(ここではtccという名前)から呼んでみました。

すると結果は
[c]
PrintTextP !!
[/c]

と表示され、継承元の「PrintTextP」メソッドが正しく動作していることがわかります。

今回の例はシンプルな継承の例ですが、一つの親クラスから、多数の子クラスを派生させることも可能なので、後ほどつめて実験してみようと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です