定义一个抽象类Shape,它包含一个抽象方法getArea(),从Shape类派生出Rectangle和Circle类
定义一个抽象类shape,它包含一个抽象方法getArea()定义一个抽象类Shape,它包含一个抽象方法getArea(),从Shape类派生出Rectangle和Circle类,这两个类都用getArea()方法计算对象面积,编写应用程序使用Rectangle和Circle类。实验目的:定义Rectangle和Circle类的构造方法,初始化成员变量,并计算出面积。代码如下(示例):packa
·
定义一个抽象类shape,它包含一个抽象方法getArea()
定义一个抽象类Shape,它包含一个抽象方法getArea(),从Shape类派生出Rectangle和Circle类,这两个类都用getArea()方法计算对象面积,编写应用程序使用Rectangle和Circle类。
实验目的:定义Rectangle和Circle类的构造方法,初始化成员变量,并计算出面积。
代码如下(示例):
package com.ljc.Abstract;
//创建了Shape抽象类
abstract class Shape {
//写抽象方法getArea
abstract double getArea();
}
//继承Shape抽象类派生出Rectangle类
class Rectangle extends Shape {
double a, b;
//构造方法
Rectangle() {
}
//初始化变量
Rectangle(double a, double b) {
this.a = a;
this.b = b;
}
//输入方法
double getA(double a) {
this.a = a;
return a;
}
//输入方法
double getB(double b) {
this.b = b;
return b;
}
//输出方法,抽象方法调用
double getArea() {
return (a * b) / 2;
}
}
//解释同上
class Circle extends Shape {
double r;
Circle() {
}
Circle(double r) {
this.r = r;
}
double getR(double r) {
this.r=r;
return r;
}
//使用调用Java库使用math方法,把Π的值调出来
double getArea() {
return r*r*Math.PI;
}
}
测试方法:
新建一个ShapeTest类
自行优化测试代码提示
package com.ljc.Abstract;
public class ShapeTest {
public static void main(String[] args) {
//测试方法就不过多介绍
Rectangle a=new Rectangle();
a.getA(60.4);
a.getB(35.1);
System.out.println(a.getArea());
Circle b=new Circle();
b.getR(3);
System.out.println(b.getArea());
}
}
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)