定义一个抽象类Shape代表一个形状类,一个计算形状的面积的抽象方法,一个计算形状的周长的抽象方法。

定义一个抽象类Shape代表一个形状类,具有一个计算形状的面积的抽象方法,一个具有计算形状的周长的抽象方法。定义一个Shape类的子类Circle类表示一个圆,,此类具有... 定义一个抽象类Shape代表一个形状类,具有一个计算形状的面积的抽象方法,一个具有计算形状的周长的抽象方法。定义一个Shape类的子类Circle类表示一个圆,,此类具有一个表示半径的成员变量,实现这个类,定义一个单独的类测试此类。定义一个Shape类的子类Retangle类表示一个矩形,,此类具有表示高和宽的成员变量,实现这个类,定义一个单独的类测试此类 展开
 我来答
分享教育知识的小花老师
高粉答主

2020-04-26 · 说的都是干货,快来关注
知道答主
回答量:945
采纳率:100%
帮助的人:17万
展开全部

1、抽象类是不能实例化、只能被继承的一种类,是一种特殊的类,在ActionScript3.0中有许多抽象类,如下图所示的两个类都是抽象类。

2、如果对抽象类进行实例化,会引发ArgumentError异常,如下图所示。

3、在ActionScript3.0中不能定义抽象类和抽象方法,只能通过模拟来实现。新建一个ExampleClass类文件,保存在固定的文件夹中。

4、在类文件中,定义包头和类名,如下图所示。

5、接着,定义构造函数,修饰符为public。

6、在构造函数中使用throw语句,这样构造函数就不能被调用,也不能被实例化了。一个抽象类就成功定义了。

7、定义抽象方法:接着,定义一个用protected修饰符修饰的函数printf。

8、在函数中同样使用throw语句,这样方法就不能被调用了,一个抽象方法被成功创建了。

akfucc
推荐于2017-10-15 · TA获得超过5454个赞
知道大有可为答主
回答量:1771
采纳率:0%
帮助的人:2202万
展开全部
abstract class Shape {
public abstract double area();// 面积

public abstract double perimeter();// 周长
}

class Circle extends Shape {
private double r;

public Circle(double r) {
this.r = r;
}

public double area() {
return Math.PI * r * r;
}

@Override
public double perimeter() {
return 2 * Math.PI * r;
}
}

class Retangle extends Shape {
private double height, width;

public Retangle(double height, double width) {
this.height = height;
this.width = width;
}

@Override
public double area() {
return this.height * width;
}

@Override
public double perimeter() {
return 2 * (this.height + this.width);
}
}

public class Test {
public static void main(String[] args) {
Shape shape1 = new Circle(3.0);
System.out.println(shape1.area());
System.out.println(shape1.perimeter());
Shape shape2 = new Retangle(4, 7.3);
System.out.println(shape2.area());
System.out.println(shape2.perimeter());
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式