接口的应用: 1、定义IShape接口,包含两个抽象方法: ·getArea(求面积方法):没有参数,返回double类型值; ·getPerimeter(求周长方法):没有参数,返回double类型值。 2、定义IDiagArea接口,继承IShape接口,新增抽象方法: ·getDiagonal(求对角线方法):没有参数,返回double类型值。 3、定义MyRectangle(长方形类),实现IShape接口,并添加以下内容: 属性:长、宽,double类型 构造方法:两个参数,根据参数的值为属性赋值。 output方法:调用成员方法计算并输出长方形的相关信息(长、宽、面积、周长)。 4、定义MySquare(正方形类),继承MyRectangle类,实现IDiagArea接口,并添加以下内容: 构造方法:1个参数,调用父类的构造方法把长、宽设置为相等(即边长),为参数的值。 重写output方法:调用成员方法计算并输出正方形的相关信息(边长、面积、周长、对角线长度)(开根号可调用Math.sqrt(double a)的方法) 5、定义测试类Demo,编写main方法,新建MyRectangle、MySquare对象,属性可以直接使用常量或键盘输入,并分别
时间: 2024-03-22 17:40:06 浏览: 78
调用它们的output方法输出信息。示例代码如下:
```
public interface IShape {
double getArea();
double getPerimeter();
}
public interface IDiagArea extends IShape {
double getDiagonal();
}
public class MyRectangle implements IShape {
private double length;
private double width;
public MyRectangle(double length, double width) {
this.length = length;
this.width = width;
}
public double getArea() {
return length * width;
}
public double getPerimeter() {
return 2 * (length + width);
}
public void output() {
System.out.println("长方形信息:");
System.out.println("长:" + length);
System.out.println("宽:" + width);
System.out.println("面积:" + getArea());
System.out.println("周长:" + getPerimeter());
}
}
public class MySquare extends MyRectangle implements IDiagArea {
public MySquare(double sideLength) {
super(sideLength, sideLength);
}
public double getDiagonal() {
return Math.sqrt(2) * getLength();
}
public void output() {
System.out.println("正方形信息:");
System.out.println("边长:" + getLength());
System.out.println("面积:" + getArea());
System.out.println("周长:" + getPerimeter());
System.out.println("对角线长度:" + getDiagonal());
}
}
public class Demo {
public static void main(String[] args) {
MyRectangle rectangle = new MyRectangle(5, 3);
rectangle.output();
MySquare square = new MySquare(4);
square.output();
}
}
```
阅读全文