定义一个抽象类Shape代表一个形状类,一个计算形状的面积的抽象方法,一个计算形状的周长的抽象方法。
定义一个抽象类Shape代表一个形状类,具有一个计算形状的面积的抽象方法,一个具有计算形状的周长的抽象方法。定义一个Shape类的子类Circle类表示一个圆,,此类具有...
定义一个抽象类Shape代表一个形状类,具有一个计算形状的面积的抽象方法,一个具有计算形状的周长的抽象方法。定义一个Shape类的子类Circle类表示一个圆,,此类具有一个表示半径的成员变量,实现这个类,定义一个单独的类测试此类。定义一个Shape类的子类Retangle类表示一个矩形,,此类具有表示高和宽的成员变量,实现这个类,定义一个单独的类测试此类
展开
2个回答
展开全部
1、抽象类是不能实例化、只能被继承的一种类,是一种特殊的类,在ActionScript3.0中有许多抽象类,如下图所示的两个类都是抽象类。
2、如果对抽象类进行实例化,会引发ArgumentError异常,如下图所示。
3、在ActionScript3.0中不能定义抽象类和抽象方法,只能通过模拟来实现。新建一个ExampleClass类文件,保存在固定的文件夹中。
4、在类文件中,定义包头和类名,如下图所示。
5、接着,定义构造函数,修饰符为public。
6、在构造函数中使用throw语句,这样构造函数就不能被调用,也不能被实例化了。一个抽象类就成功定义了。
7、定义抽象方法:接着,定义一个用protected修饰符修饰的函数printf。
8、在函数中同样使用throw语句,这样方法就不能被调用了,一个抽象方法被成功创建了。
展开全部
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());
}
}
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());
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询