クラス、継承サンプル

分かりやすいサンプルがあったので、残しておこう.

//スーパークラス(親クラス)
class GeographicInfo {
  double latitude;
  double longitude;
}
//サブクラス(子クラス)
class GeographicInfo3D extends GeographicInfo {
  double height;
}


public class UsingGeographicInfo3D {
  public static void main( String args[] ) {
      GeographicInfo3D g  = new GeographicInfo3D();
      g.latitude    = 35.66;
      g.longitude   = 139.75;
      g.height      = 10.0;

      System.out.println(g.latitude);
      System.out.println(g.longitude);
      System.out.println(g.height);
  }
}

クラスを継承すると、スーパークラスで定義したメンバ変数などをサブクラスで流用できるというメリットがあります。同じようなクラスを定義しなくてはならないが、微妙に異なるという場合は、まずすべてのクラスに共通する要素をスーパークラスで定義し、異なる部分だけを個別のクラスとして定義することで、プログラムを効率的に開発しましょう、というのがオブジェクト指向の基本的な考え方の1つとされています。

参考サイト

いまから始めるJava(4):クラスの継承の本質を知る - @IT