• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:継承)

Javaの継承についての質問

このQ&Aのポイント
  • Javaの継承について詳しく教えてください。
  • Squareクラスを継承してCircleクラスを作り、オーバーライドしたメソッドで面積を求めたいです。
  • 明後日に提出するので、早めに教えていただけると嬉しいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom11
  • ベストアンサー率53% (134/251)
回答No.2

継承と、オーバーライドの二つのキーワードで また、抽象クラスが、、キーワードになってなっていないので、 抽象クラスを、使わないと仮定して、作ってみました。 public class Shape_test { /** * @param args the command line arguments */ public static void main(String[] args) { Square sq = new Square(3.6); Circle c = new Circle(2.4); System.out.println(sq.Name()+"の面積"+sq.area()); System.out.println(c.Name()+"の面積"+c.area()); // TODO code application logic here } } class Shape { double length =0; public Shape(double l) { this.length=l; } double area(){return 0;} public String Name(){ return null; } } //Shapeを継承 class Square extends Shape{ public Square(double l) { super(l); } @Override double area() { return length*length; } @Override public String Name() { return "四角"; } } //Shapeを継承 class Circle extends Shape{ public Circle(double r) { super(r); } @Override double area() { return Math.pow(length, 2.0)*Math.PI; } @Override public String Name() { return "円"; } } なんか、昔、ドコゾの本で見たことあるような!! オーバーライドも、強引過ぎるような!! 正式に習ったことないので、適当です。 実行結果 四角の面積12.96 円の面積18.09557368467721 質問自体の意味が、よく解らないので、自分なりに 改造してください。

murtha
質問者

お礼

質問がへたですみません。 できました。 本当にありがとうございました。

その他の回答 (1)

  • tom11
  • ベストアンサー率53% (134/251)
回答No.1

この問題本当にこれでいいの??? 見た感じ、強引にオーバーライドする、メッソドも 見つけられないのですが。 ちなみに、 >double Han; >  Han=new Circle(); プリミティブにオブジェクトのインスタンスを入れると 言うのかな??これって、許されているのかな??? 継承を無視すれば Cirlcleクラスを作り、setCircle()とdisp()メッソドを 作れば良い様な気がするのですが。 本当に、、この問題で、いいのですか???

murtha
質問者

補足

あの問題は、まだ途中の段階で解らなくなってそのまんまにしていました。 オーバーライドと継承がまだ理解できてなくて・・・

関連するQ&A