java实验题目,关于多态,接口

来源:百度知道 编辑:UC知道 时间:2024/05/17 04:16:33
定义一个矩形类Rectangle,再派生一个正方形类Square,自行扩充成员和方法。再定义接口EqualDiagonal,其中包含方法getDiagonal( ),在矩形类和正方形类中实现此接口,用来实现斜边的计算。
下面这个代码调试的时候出错,不知道怎么改,大家帮忙看看。

interface EqualDiagonal {
double getDiagonal() ;
}
abstract class Rectangle1 implements EqualDiagonal {
private double a;
private double b;

public double getDiagonal(double x, double y) {
a=x;
b=y;
return Math.sqrt(a*a+b*b);
}
}
abstract class Square extends Rectangle1 implements EqualDiagonal {
private double a;
public double getDiagonal(double x) {
a=x;
return Math.sqrt((2.0)*a*a);
}
}
public class Hypotenuse {
public static void main(String [] args) {
Rectangle1 c = new Rectangle1 ();
Square b = new Square ();
c. getDiagonal(5.0,6.0 );
b. getDiagonal(4.0);
System.out.println("长方形的斜边长是:"+c. getDiagonal() );
System.out.println("正方形的斜边长是:"+b.getDiagonal());
}

interface EqualDiagonal {

double getDiagonal();
}

class Rectangle1 implements EqualDiagonal {
private double a;
private double b;
public Rectangle1(double d,double e){
this.a=d;
this.b=e;
}
public Rectangle1(){

}
public double getDiagonal() {
return Math.sqrt(a * a + b * b);
}
}

class Square extends Rectangle1 implements EqualDiagonal {
private double a;
public Square(int x){
this.a=x;
}
public double getDiagonal() {
return Math.sqrt((2.0) * a * a);
}
}

public class Hypotenuse {
public static void main(String[] args) {
Rectangle1 c = new Rectangle1(5.0,6.0);
Square b = new Square(5);
System.out.println("长方形的斜边长是:" + c.getDiagonal());
System.out.println("正方形的斜边长是:" + b.getDiagonal());
}
}

建几个类再创个接口进行调用就行了嘛

题目说的很清楚了,一步步来就是了太懒了你