diff --git "a/11 \351\202\271\344\272\250\344\274\237/\345\244\232\346\200\201\344\275\234\344\270\232.md" "b/11 \351\202\271\344\272\250\344\274\237/\345\244\232\346\200\201\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..e0f823d635985b56d02ea88e31a80be093aa6408 --- /dev/null +++ "b/11 \351\202\271\344\272\250\344\274\237/\345\244\232\346\200\201\344\275\234\344\270\232.md" @@ -0,0 +1,199 @@ + + + + +### Graphic类(图形) + +``` +package Day0505; + +//父类Graphic图形 +public abstract class Graphic { + private String name; + + public Graphic(){} + + public Graphic(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + + public double area(){ + return 0.0; + } + + public double perimeter(){ + return 0.0; + } + + public String getInfo(){ + return null; + } + +} +``` + +### Rectangle类(矩形) + +``` +package Day0505; + +public class Rectangle extends Graphic{ + private double length; + private double width; + + public Rectangle(){} + + public Rectangle(String name, double length, double width) { + super(name); + 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; + } + + //计算矩形面积 + @Override + public double area() { + return length*width; + } + + //计算矩形周长 + @Override + public double perimeter() { + return (length+width)*2; + } + + //获取信息 + @Override + public String getInfo() { + + return getName()+"的长为:"+length+ + "\t\t宽为:"+width+ + "\t\t面积为:"+area()+ + "\t\t周长为:"+perimeter(); + } +} +``` + +### Circle类(圆形) + +``` +package Day0505; + +public class Circle extends Graphic{ + //半径 + private double radius; + + public Circle(){} + + public Circle(String name, double radius) { + super(name); + 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 getName()+"的半径为:"+radius+"\t\t面积为:"+area()+"\t\t周长为:"+perimeter(); + } +} +``` + +### Test类(测试) + +``` +package Day0505; + +public class Test { + public static void main(String[] args) { + Graphic c1 = new Circle("圆形1",5); + System.out.println(c1.getInfo()); + + Graphic c2 = new Circle("圆形2",6); + System.out.println(c2.getInfo()); + + + Graphic r1 = new Rectangle("矩形1", 10,20); + System.out.println(r1.getInfo()); + + Graphic r2 = new Rectangle("矩形2",15,20); + System.out.println(r2.getInfo()); + System.out.println(); + + getArea(c1,c2); + getArea(c1,r1); + getArea(c2,r1); + getArea(c2,r2); + + System.out.println(); + + getPerimeter(c1,c2); + getPerimeter(c1,r1); + getPerimeter(c2,r1); + getPerimeter(c2,r2); + + } + + //判断面积大小 + public static void getArea(Graphic a,Graphic b){ + if(a.area()>b.area()){ + System.out.println(a.getName()+"的面积大于"+b.getName()); + }else{ + System.out.println(b.getName()+"的面积大于"+a.getName()); + } + + } + + //判断周长大小 + public static void getPerimeter(Graphic a ,Graphic b){ + if(a.perimeter()>b.perimeter()){ + System.out.println(a.getName()+"的周长大于"+b.getName()); + }else{ + System.out.println(b.getName()+"的周长大于"+a.getName()); + } + } +} +``` \ No newline at end of file