diff --git "a/08 \345\256\230\346\226\207\350\257\232/20230508 \345\244\232\346\200\201 .md" "b/08 \345\256\230\346\226\207\350\257\232/20230508 \345\244\232\346\200\201 .md" new file mode 100644 index 0000000000000000000000000000000000000000..788ae1b6f40dba0366b9a0fc70ad86353b385ff6 --- /dev/null +++ "b/08 \345\256\230\346\226\207\350\257\232/20230508 \345\244\232\346\200\201 .md" @@ -0,0 +1,207 @@ +(1)父类Graphic图形 + +- public double area()方法:返回0.0 +- public double perimeter()方法:返回0.0 +- public String getInfo()方法,返回图形面积和图形周长 + +(2)子类Circle圆继承Graphic图形 + +- 包含属性:radius,属性私有化 +- 包含get/set方法 +- 重写area()求面积方法 +- 重写perimeter()求周长方法 +- 重写getInfo()方法,返回圆的半径,面积和周长 + +(3)子类矩形Rectangle继承Graphic图形 + +- 包含属性:length、width,属性私有化 +- 包含get/set方法 +- 重写area()求面积方法 +- 重写perimeter()求周长方法 +- 重写getInfo()方法,返回长和宽,面积、周长信息 + +(4)在测试类中,新建一个比较图形面积的方法,再建一个比较图形周长的方法,main方法中创建多个圆和矩形对象,再调用方法比较他们的周长或面积。 + +### 父类Graphic图形 + +~~~ java +package Day20230508; + +public abstract class Graphic { + + private String bijiao; + + public Graphic(){} + + public Graphic(String bijiao) { + this.bijiao = bijiao; + } + + public String getbijiao() { + return bijiao; + } + + public void setName(String bijiao) { + this.bijiao = bijiao; + } + + + public double area(){ + return 0.0; + } + + public double perimeter(){ + return 0.0; + } + + public String getInfo(){ + return null; + } + + } + + +~~~ + +### 子类Circle圆继承Graphic图形 + +~~~ java +package Day20230508; + +public class Circle extends Graphic{ + + private double radius; + + public Circle(){} + + public Circle(String bijiao, double radius) { + super(bijiao); + this.radius = radius; + } + + public double getRadius() { + return radius; + } + + public void setRadius(double radius) { + this.radius = radius; + } + + + @Override + public double area() { + return Math.PI*radius*radius; + } + + + @Override + public double perimeter() { + return 2*Math.PI*radius; + } + + + @Override + public String getInfo() { + return getbijiao()+"半径:"+radius+"面积:"+area()+"周长:"+perimeter(); + } +} + +~~~ + +### 子类矩形Rectangle继承Graphic图形 + +~~~ java +package Day20230508; + +public class Rectangle extends Graphic { + private double length; + private double width; + + public Rectangle() { + } + + public Rectangle(String bijiao, double length, double width) { + super(bijiao); + this.length = length; + this.width = width; + } + + public Rectangle(double length, double width) { + this.length = length; + this.width = width; + } + + public double getLength() { + return length; + } + + public void setLength(double length) { + this.length = length; + } + + public double getWidth() { + return width; + } + + public void setWidth(double width) { + this.width = width; + } + public double area(){ + return length*width; + } + public double perimeter(){ + return length*width*2; + } + public String getInfo(){ + return getbijiao()+"长:"+length+"宽"+width+"面积:"+area()+"周长:"+perimeter(); + } +} + +~~~ + +### 测试类 + +~~~ java +package Day20230508; + +public class Test { + private static void getArea(Graphic y1, Graphic y2) { + if(y1.area()>y2.area()){ + System.out.println(y1.getbijiao()+"的面积大于"+y2.getbijiao()); + }else{ + System.out.println(y2.getbijiao()+"的面积大于"+y1.getbijiao()); + } + } + public static void getPerimeter(Graphic a ,Graphic b){ + if(a.perimeter()>b.perimeter()){ + System.out.println(a.getbijiao()+"的周长大于"+b.getbijiao()); + }else{ + System.out.println(b.getbijiao()+"的周长大于"+a.getbijiao()); + } + } + + + public static void main(String[] args) { + Graphic y1 = new Circle("圆形1",12); + System.out.println(y1.getInfo()); + Graphic y2 = new Circle("圆形2",22); + System.out.println(y2.getInfo()); + + Graphic j1 = new Rectangle("矩形1",12,2); + System.out.println(j1.getInfo()); + Graphic j2 = new Rectangle("矩形2",22,12); + System.out.println(j2.getInfo()); + + getArea(y1,y2); + getArea(j1,j2); + getPerimeter(y1,y2); + getPerimeter(j1,j2); + } + + + +} + + +~~~ +