1 /* 2 编写一个矩形类Rect,包含: 3 两个protected属性:矩形的宽width;矩形的高height。 4 两个构造方法: 5 1.一个带有两个参数的构造方法,用于将width和height属性初化; 6 2.一个不带参数的构造方法,将矩形初始化为宽和高都为10。 7 两个方法: 8 求矩形面积的方法area() 9 求矩形周长的方法perimeter()10 */11 package C;12 13 public class Rect {14 15 protected double width;16 protected double height;17 18 public Rect(double width, double height) {19 this.width = width;20 this.height = height;21 }22 23 public Rect() {24 width = 10;25 height = 10;26 }27 28 public double area() {29 return width * height;30 }31 32 public double perimeter() {33 return (width + height) * 2;34 }35 }
1 /* 2 通过继承Rect类编写一个具有确定位置的矩形类PlainRect,其确定位置用 3 矩形的左上角坐标来标识,包含: 4 添加两个属性:矩形左上角坐标startX和startY。 5 两个构造方法: 6 带4个参数的构造方法,用于对startX、startY、width和height属性 7 初始化; 8 不带参数的构造方法,将矩形初始化为左上角坐标、长和宽都为0 9 的矩形;10 添加一个方法:11 判断某个点是否在矩形内部的方法isInside(double x,double y)。如在矩12 形内,返回true, 否则,返回false。13 */14 package C;15 16 public class PlainRect extends Rect {17 18 public double startX;19 public double startY;20 21 public PlainRect(double startX, double startY, double w, double h) {22 this.startX = startX;23 this.startY = startY;24 width = w;25 height = h;26 }27 28 public PlainRect() {29 startX = 0;30 startY = 0;31 width = 0;32 height = 0;33 }34 35 public boolean isInside(double x, double y) {36 if (x >= startX && x <= (startX + width) && y >= startY && y <= (startY + height)) {37 return true;38 } else {39 return false;40 }41 }42 43 44 }
1 /* 2 编写PlainRect类的测试程序 3 创建一个左上角坐标为(10,10),长为20,宽为10的矩形对象; 4 计算并打印输出矩形的面积和周长; 5 判断点(25.5,13)是否在矩形内,并打印输出相关信息。 6 */ 7 package C; 8 9 public class Text_Rect {10 11 public static void main(String[] args) {12 13 PlainRect jx = new PlainRect(10, 10, 10, 20);14 System.out.println("矩形的周长=" + jx.perimeter());15 System.out.println("矩形的面积=" + jx.area());16 17 if (jx.isInside(25.5, 13)) {18 System.out.println("点(25.5,13)在矩形内部。");19 } else {20 System.out.println("点(25,5,13)不在矩形内部。");21 }22 23 }24 25 }
运行结果:
原标题:继承—矩形
关键词: