实验三 类的继承和多态性
1.(1)编写一个接口ShapePara,要求: 接口中的方法: int getArea():获得图形的面积。int getCircumference():获得图形的周长
(2)编写一个圆类Circle,要求:圆类Circle实现接口ShapePara。
该类包含有成员变量:
radius:public 修饰的double类型radius,表示圆的半径。
x:private修饰的double型变量x,表示圆心的横坐标。
y:protected修饰的double型变量y,表示圆心的纵坐标。
包含的方法有:
Circle(double radius) 有参构造方法。以形参表中的参数初始化半径,圆心为坐标原点。 double getRadius():获取半径为方法的返回值。void setCenter(double x, double y):利用形参表中的参数设置类Circle的圆心坐标。void setRadius(double radius):利用形参表中的参数设置类Circle的radius域。
2.定义图形类Shape,该类中有获得面积的方法getArea();定义长方形类Rect,该类是Shape的子类,类中有矩形长和宽的变量double a,double b,设置长和宽的方法setWidth()、setHeight(),使用getArea()求矩形面积;利用getArea方法实现题1中圆面积的求解。
package zhongqiuzuoye; public interface ShapePara { public double getArea(); public double getCircumference(); }
package zhongqiuzuoye; public class Circle implements ShapePara { public double radius; private double x; public double getRadius() { return radius; } public void setRadius(double radius) { this.radius = radius; } public double getX() { return x; } public void setX(double x) { this.x = x; } public double getY() { return y; } public void setY(double y) { this.y = y; } protected double y; public Circle(double radius) { } void setCenter(double x, double y) { this.x=x; this.y=y; } public double getArea() { return 3.14*radius*radius; } @Override public double getCircumference() { // TODO 自动生成的方法存根 return 0; } }
package zhongqiuzuoye; public class Shape { public void getArea() { } }
package zhongqiuzuoye; public class Rect extends Shape{ private double width; private double height; public double getWidth() { return width; } public void setWidth(double width) { this.width = width; } public double getHeight() { return height; } public void setHeight(double height) { this.height = height; } Rect(double width,double height) //带有两个参数的构造方法,用于将width和height属性初化; { this.width=width; this.height=height; } public void getArea() //求矩形面积的方法 { System.out.println("矩形的面积为:"+width*height); } }
package zhongqiuzuoye; public interface A { public static void main(String args[]) { Rect rect=new Rect(12.76, 25.28); System.out.println("矩形对象的宽:"+rect.getWidth()+" 高:"+rect.getHeight()+"面积为:"); rect.getArea(); } }