Java<继承类练习>编写一个矩形类Rect,该类包含:1、2个属性。矩形的长length和宽width。

本文定义了一个矩形类Rect,包括长度和宽度属性,以及计算面积和周长的方法。PlainRect类继承自Rect,增加了表示矩形位置的startX和startY属性,并实现了判断点是否在矩形内的方法。在测试程序中,创建了一个矩形对象并计算了其面积和周长,还判断了特定点是否在矩形内部。
摘要由CSDN通过智能技术生成

一、编写一个矩形类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);
		 }
}

运行结果:

 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值