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

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

运行结果:

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 性的getter和setter方法。4、一个计算矩形面积的方法area(),返回矩形的面积。 下面是矩形的代码示例: ``` class Rect: def __init__(self, length, width): self.length = length self.width = width def get_length(self): return self.length def set_length(self, length): self.length = length def get_width(self): return self.width def set_width(self, width): self.width = width def area(self): return self.length * self.width ``` 使用示例: ``` r = Rect(3, 4) print(r.area()) # 输出 12 r.set_length(5) r.set_width(6) print(r.area()) # 输出 30 ``` ### 回答2: 矩形是一种基本的几何图形,它具有度和度两个重要的属性。在面向对象编程中,可以创建一个矩形rect),来表示矩形这种图形。 该矩形包含两个属性,分别是矩形lengthwidth。这两个属性可以用来描述一个矩形的大小和形状。为了初始化这些属性该类包含一个构造方法,这个构造方法包含两个参数,分别用来初始化lengthwidth属性。 在矩形中,lengthwidth属性都是属于该类的实例化对象。也就是说,只有创建了矩形的实例对象之后,才能够访问并修改这些属性。例如,可以通过以下方式创建一个矩形的实例: Rect rectangle = new Rect(10, 20); 在这个例子中,我们创建了一个名为rectangle的矩形实例,它的度为10,度为20。如果需要获取或修改rectangle实例的度或属性,可以使用以下代码: int length = rectangle.length; int width = rectangle.width; rectangle.length = 15; rectangle.width = 25; 这些代码将获取rectangle实例的度和属性,并将length属性修改为15,width属性修改为25。 总之,矩形rect一个用来表示矩形包含度和度这两个重要的属性,并且提供了一个构造方法来初始化这些属性lengthwidth属性都是属于该类的实例对象,只有创建了的实例对象之后,才能够访问和修改这些属性。 ### 回答3: rect矩形编写需要遵循面向对象的原则,需要将相关的属性和方法封装在一个中,实现代码的复用和可维护性。对于矩形rect,需要包含lengthwidth两个属性,以及1个构造方法,带2个参数的构造方法,用于对lengthwidth属性进行初始化。同时,也需要设置lengthwidth属性的访问方法,以便其他可以获取和修改这些属性的值。 在Java中,可以通过如下代码实现矩形的定义和属性访问方法的设置: public 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; } } 在上面的代码中,设置了矩形lengthwidth两个属性,分别采用了int型的数据进行存储。在构造方法中,采用了this关键字来引用对象的属性。同时,在中还设置了get和set方法来访问这些属性。 通过这样的设计,其他就可以方便的获取矩形信息,并且对这些属性进行修改操作。这样实现的矩形代码简洁,易于维护和扩展,能有效提高代码的可重用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值