interface Graphics { //接口里面只能用抽象方法 public abstract double area(); } //设置 平面类 class PlaneGraphics1 { private String shape; //形状 //构造方法,有参数 public PlaneGraphics1(String shape) { this.shape=shape; } //无参数 public PlaneGraphics1() { this('未知图形1'); } //打印 public void print() { } } //长方形 ,继承接口必要实现接口的抽象方法,不然会报错的。 class Rectangle extends PlaneGraphics1 implements Graphics { protected double length; protected double width; //构造方法 public Rectangle(double length,double width) { this.length=length; this.width=width; } //正方形构造方法 public Rectangle(double width) { this.length=width; this.width=width; } //无参数构造方法 public Rectangle() { } public double area() { return width*length; } public void print() { System.out.println('长方形面积为:'+this.area()); } } //椭圆 class Eclipse extends PlaneGraphics1 implements Graphics { protected double radius_a; protected double radius_b; //椭圆构造方法 public Eclipse(double radius_a,double radius_b) { super('椭圆'); this.radius_a=radius_a; this.radius_b=radius_b; } //圆 public Eclipse(double radius_a) { super('圆'); this.radius_a=radius_a; this.radius_b=radius_a; } public Eclipse() { } public double area() { return Math.PI*radius_a*radius_b; } public void print() { System.out.println('圆的面积为'+this.area()); } } class Triangle extends PlaneGraphics1 implements Graphics { private double bottom ; private double height; public Triangle(double bottom ,double height) { this.bottom=bottom; this.height=height; } public double area() { return bottom*height/2; } public void print() { System.out.println('三角形面积为:'+this.area()); } } public class PlaneGraphics_ex1 { public static void main(String[]args) { PlaneGraphics1 g=new Rectangle(10.0,20.0); g.print(); g=new Eclipse(10.0,12.0); g.print(); g=new Triangle(10.0,6.0); g.print(); } } |
|