你的位置:首页 > Java教程

[Java教程]继承—矩形


 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 }

运行结果: