一、编写一个矩形类Rect,该类包含:1、2个属性。矩形的长length和宽width。2、1个构造方法。带2个参数的构造方法,用于对length和width属性进行初始化。3、length和width属性的set和get方法。4、2个公有成员方法。分别用于计算并返回矩形的面积和周长。
二、编写一个具有确定位置的矩形类PlainRect,该类继承于Rect类,其确定位置用矩形的左上角坐标来标识,为该类添加:1、2个属性。矩形左上角坐标startX和startY。2、2个构造方法。(1)带4个参数的构造方法。用于对startX、startY、length和width属性进行初始化。(2)不带参数的构造方法。将矩形初始化为左上角坐标、长、宽都为0的矩形。3、1个方法。方法isInside(double x,double y),用于判断某个点是否在矩形内部,如在矩形内,返回true,否则,返回false。
三、编写PlainRect类的测试程序:1、创建一个左上角坐标为(10,10),长为20,宽为10的矩形对象。2、计算并打印出矩形的面积和周长。3、判断点(25.5,13)是否在矩形内,并打印输出相关信息。
注意:每个类都完全封装,不允许有非私有化的属性。
class Rect
{
private int length;
private int width;
public Rect(int length,int width){
this.length=length;
this.width=width;
}
public int getLength(){
return length;
}
public void setLength(int length){
this.length=length;
}
public int getWidth(){
return width;
}
public void setWidth(int width){
this.width=width;
}
public void girth(){
System.out.println("周长为"+(width+length)*2);
}
public void temp(){
System.out.println("面积为"+(width*length));
}
}
class PlainRect extends Rect
{
private int startX;
private int startY;
public PlainRect(int length,int width,int startX,int startY){
super(length,width);
this.startX=startX;
this.startY=startY;
}
public int getStartX(){
return startX;
}
public void setStartX(int startX){
this.startX=startX;
}
public int getStartY(){
return startY;
}
public void setStartY(int startY){
this.startY=startY;
}
public boolean islnside(double x,double y){
if((x>=startX&&x<=(startX+super.getLength()))&&(y<=startY&&y>=(startY-super.getWidth()))){
System.out.println("true");
return true;
}else{
System.out.println("false");
return false;
}
}
}
public class Text2 {
public static void main(String[] args){
Rect r=new Rect(20,10);
r.girth();
r.temp();
PlainRect p=new PlainRect(20,10,10,10);
p.islnside(25.5,13);
}
}
运行结果: