diff --git a/day09/src/com/inmind/abstract06/test/Circle.java b/day09/src/com/inmind/abstract06/test/Circle.java new file mode 100644 index 0000000..d402f59 --- /dev/null +++ b/day09/src/com/inmind/abstract06/test/Circle.java @@ -0,0 +1,20 @@ +package com.inmind.abstract06.test; + + +public class Circle extends Shape { + + //定义一个有参构造,必须要求传入半径,交给父类来管理 + public Circle(int r){ + super(0,0,r); + } + + @Override + public double getArea() { + return Math.PI*getR()*getR(); + } + + @Override + public double getZC() { + return 2*Math.PI*getR(); + } +} diff --git a/day09/src/com/inmind/abstract06/test/Demo09.java b/day09/src/com/inmind/abstract06/test/Demo09.java index a81415d..c2b0323 100644 --- a/day09/src/com/inmind/abstract06/test/Demo09.java +++ b/day09/src/com/inmind/abstract06/test/Demo09.java @@ -14,6 +14,15 @@ package com.inmind.abstract06.test; */ public class Demo09 { public static void main(String[] args) { + //创建一个长方形对象 + Rectangle rectangle = new Rectangle(4,2); + System.out.println("长方形的面积:"+rectangle.getArea()); + System.out.println("长方形的周长:"+rectangle.getZC()); + //创建一个圆形对象 + Circle circle = new Circle(2); + System.out.println("圆形的面积:"+circle.getArea()); + System.out.println("圆形的周长:"+circle.getZC()); + //如何快速定义出一个正方型的类,还不用自己实现周长和面积的方法 } } diff --git a/day09/src/com/inmind/abstract06/test/Rectangle.java b/day09/src/com/inmind/abstract06/test/Rectangle.java new file mode 100644 index 0000000..4156d17 --- /dev/null +++ b/day09/src/com/inmind/abstract06/test/Rectangle.java @@ -0,0 +1,19 @@ +package com.inmind.abstract06.test; + +public class Rectangle extends Shape{ + + //定义一个有参构造,必须要求传入长宽,交给父类来管理 + public Rectangle(int chang,int kuan){ + super(chang,kuan,0); + } + + @Override + public double getArea() { + return getChang()*getKuan(); + } + + @Override + public double getZC() { + return (getChang()+getKuan())*2; + } +} diff --git a/day09/src/com/inmind/abstract06/test/Shape.java b/day09/src/com/inmind/abstract06/test/Shape.java new file mode 100644 index 0000000..3e667c5 --- /dev/null +++ b/day09/src/com/inmind/abstract06/test/Shape.java @@ -0,0 +1,46 @@ +package com.inmind.abstract06.test; + +public abstract class Shape { + //定义共性的属性:涵盖大部分形状的属性 + private int chang;//矩形的长 + private int kuan;//矩形的宽 + private int r;//圆的半径 + + //满参构造:创建对象,对属性进行赋值 + public Shape(int chang, int kuan, int r) { + this.chang = chang; + this.kuan = kuan; + this.r = r; + } + + //提供get/set方法,对私有的属性进行操作 + public int getChang() { + return chang; + } + + public void setChang(int chang) { + this.chang = chang; + } + + public int getKuan() { + return kuan; + } + + public void setKuan(int kuan) { + this.kuan = kuan; + } + + public int getR() { + return r; + } + + public void setR(int r) { + this.r = r; + } + + //计算面积的方法 + public abstract double getArea(); + //计算周长的方法 + public abstract double getZC(); + +}