オブジェクト指向プログラミング復習 ポリモルフィズムと インタフェース October 22, 2001 すべてのオブジェクトのスーパークラス 継承 Object: toString() Point: x, y; toString(), getX(), getY() Circle: radius toString(), area() Cylinder: height toString(), area(), volume() 例:Cylinder オブジェクト データ:x, y, radius, height メソッド:toString(), area(), volume() ポリモルフィズム 同じ名前のメソッドが異なるクラスで 定義されている どのメソッドが使用されるかは、その 時のオブジェクトによって決まる アブストラクトスーパークラス すべてのオブジェクトのスーパークラス Object: toString() アブストラクトスーパークラス Shape: area(), volume(), getName() Point: x, y; toString(), getX(), getY(), getName() Circle: radius toString(), area(), getName() Cylinder: height toString(), area(), volume(), getName() アブストラクトスーパークラス インスタンス(オブジェクト)は生成されない 「インタフェース」を提供する メソッド名を決めておく デフォルトの実装を提供する インタフェース(擬似多重継 承) すべてのオブジェクトのスーパークラス インタフェース Object: toString() Shape: area(), volume(), getName() Point: x, y; toString(), getX(), getY(), getName() Circle: radius toString(), area(), getName() Cylinder: height toString(), area(), volume(), getName() インタフェース(擬似多重継承) インスタンス(オブジェクト)は生成されない (クラスではない) 「インタフェース」を提供する メソッド名を決める 実装(プログラムコード)は書けない インタフェースを利用するクラスは、イン タフェースで定義されているすべてのメ ソッドを実装しなければならない タイプラッパークラス 各プリミッティブ型には、対応するオブ ジェクトが定義されている。 Object Character: char Integer: Int parseInt(int) Boolean: boolean Double: Double parseDouble(double) くわしくは、教科書を参照してね
© Copyright 2025 ExpyDoc