实验三 类的继承和多态性

实验三 类的继承和多态性

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();


}
}

 

posted @ 2016-09-23 10:11  张好好  阅读(846)  评论(0编辑  收藏  举报