矩形

按要求编写一个Java应用程序:

(1)编写一个矩形类Rect,包含:

两个属性:矩形的宽width;矩形的高height。

两个构造方法:

1.一个带有两个参数的构造方法,用于将width和height属性初化;

2.一个不带参数的构造方法,将矩形初始化为宽和高都为10。

两个方法:

求矩形面积的方法area()

求矩形周长的方法perimeter()

(2)通过继承Rect类编写一个具有确定位置的矩形类PlainRect,其确定位置用

矩形的左上角坐标来标识,包含:

添加两个属性:矩形左上角坐标startX和startY。

两个构造方法:

带4个参数的构造方法,用于对startX、startY、width和height属性

初始化;

不带参数的构造方法,将矩形初始化为左上角坐标、长和宽都为0

的矩形;

添加一个方法:

判断某个点是否在矩形内部的方法isInside(double x,double y)。如在矩

形内,返回true, 否则,返回false。

  提示:点在矩形类是指满足条件:

x>=startX&&x<=(startX+width)&&y<startY&&y>=(startY-height)

(3)编写PlainRect类的测试程序

创建一个左上角坐标为(10,10),长为20,宽为10的矩形对象;

计算并打印输出矩形的面积和周长;

判断点(25.5,13)是否在矩形内,并打印输出相关信息。

 

 

package zuoye;

 

public class Rect {

    //属性

    double width;

    double height;

     

    //有参的构造方法

    public  Rect(double width,double height)

    {

        this.width=width;

        this.height=height;

    }

    public Rect()

    {

        this.width=10;

        this.height=10;

    }

     

    //自定义成员方法      面积

    public double area(){

        double area;

        area=width*height;

        return area;

    }

    //周长

    public double perimeter(){

        double perimeter;

        perimeter=(width+height)*2;

        return perimeter;

    }

     

    //通过属性生成的get,set成员方法

    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;

    }

     

 

 

package zuoye;

 

public class PlainRect extends Rect {

     

    private int startX;

    private int startY;

     

    //有参的构造方法

    public PlainRect(int startX,int startY,double width,double height)

    {

        this.startX=startX;

        this.startY=startY;

        this.width=width;

        this.height=height;

    }

    public PlainRect(double startX,double startY)

    {

         

        System.out.println("这个点的坐标是x="+startX+"y="+startY);

    }

    //无参的构造方法

    public PlainRect()

    {

        this.startX=0;

        this.startY=0;

        this.width=0;

        this.height=0;

    }

    //成员方法

     

    //判断是否在矩形内部

    public boolean isInside(double x,double y)

    {

        if(x>=startX&&x<=(startX+width)&&y<startY&&y>=(startY-height))

        {

            return true;

        }

        else

        {

            return false;

        }

    }

 

}   

 

}

 

 

package zuoye;

 

public class Ceshi_PlainRect {

 

    public static void main(String[] args) {

        //通过PlainRect中有参的构造方法创建矩形

        PlainRect pr=new PlainRect(10,10,10,20);

        //调用父类中的面积方法

        System.out.println("10x20的矩形面积="+pr.area());

        //周长

        System.out.println("10x20的矩形周长="+pr.perimeter());

         

        //定义一个点的的坐标

        PlainRect pr1=new PlainRect(25.5,13);

         

        //判断点的坐标

        if(pr.isInside(25.5, 13)==true)

        {

            System.out.println("这个点在矩形内");

        }

         

        else

        {

            System.out.println("不在矩形内");

        }

 

    }

 

}

package zuoye;
 
public class Rect {
    //属性
    double width;
    double height;
     
    //有参的构造方法
    public  Rect(double width,double height)
    {
        this.width=width;
        this.height=height;
    }
    public Rect()
    {
        this.width=10;
        this.height=10;
    }
     
    //自定义成员方法      面积
    public double area(){
        double area;
        area=width*height;
        return area;
    }
    //周长
    public double perimeter(){
        double perimeter;
        perimeter=(width+height)*2;
        return perimeter;
    }
     
    //通过属性生成的get,set成员方法
    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;
    }
     
     
 
}
posted @ 2016-09-21 13:16  蕤霁雲若  阅读(992)  评论(0编辑  收藏  举报