From 529ebcfc6b3bab79341808ee10aed1172532a598 Mon Sep 17 00:00:00 2001 From: "100800@bin" <1761144610@qq.com> Date: Mon, 8 May 2023 22:59:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...32\346\200\201\344\275\234\344\270\232.md" | 184 ++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 "19\345\275\255\345\213\207\346\226\214/\345\244\232\346\200\201\344\275\234\344\270\232.md" diff --git "a/19\345\275\255\345\213\207\346\226\214/\345\244\232\346\200\201\344\275\234\344\270\232.md" "b/19\345\275\255\345\213\207\346\226\214/\345\244\232\346\200\201\344\275\234\344\270\232.md" new file mode 100644 index 0000000..f8617aa --- /dev/null +++ "b/19\345\275\255\345\213\207\346\226\214/\345\244\232\346\200\201\344\275\234\344\270\232.md" @@ -0,0 +1,184 @@ +### 图形 + +(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方法中创建多个圆和矩形对象,再调用方法比较他们的周长或面积。 + +``` +public class Graphic { + private String Name; + + public String getName() { + return Name; + } + + public void setName(String name) { + Name = name; + } + + public double area() { + return 0.0; + } + public double perimeter(){ + return 0.0; + } + public String getInfo(){ + return null; + } +} +class Circle extends Graphic{ + private double radius; + + public Circle(double radius) { + this.radius = radius; + } + + public Circle() { + } + + 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() { + double area = area(); + double perimeter = perimeter(); + return "圆的半径为:"+radius+"\t圆面积为:"+area+"\t圆周长为:"+perimeter; + } +} +class Rectangle extends Graphic{ + private double length; + private double width; + + public Rectangle() { + } + + 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; + } + + @Override + public double area() { + return length*width; + } + + @Override + public double perimeter() { + return (length+width)*2; + } + + @Override + public String getInfo() { + double area = area(); + double perimeter = perimeter(); + + return "矩形的长为:"+length+ + "矩形的宽为"+width+ + "矩形面积为:"+area+ + "\t矩形周长为:"+perimeter; + } +} +class Test { + public static void main(String[] args) { + Circle c1 = new Circle(); + c1.setName("圆形1"); + c1.setRadius(5); + + Circle c2 = new Circle(); + c2.setName("圆2"); + c2.setRadius(5); + + Rectangle r1 = new Rectangle(10, 20); + r1.setName("矩形1"); + + Rectangle r2 = new Rectangle(15, 20); + r2.setName("矩形2"); + + comPare(c1, c2); + comPare(c1, r1); + comPare(c2, r1); + comPare(c2, r2); + + getPerimeter(c1, c2); + getPerimeter(c1, r1); + getPerimeter(c1, r2); + getPerimeter(c2, r1); + + + } + public static void comPare(Graphic G,Graphic c){ + if (G.area()> c.area()){ + System.out.println(G.getName()+"面积比"+c.getName()+"大"); + System.out.println(); + }else if (G.area()b.perimeter()){ + System.out.println(a.getName()+"的周长大于"+b.getName()); + System.out.println(); + }else{ + System.out.println(b.getName()+"的周长大于"+a.getName()); + System.out.println(); + } + } +} +``` \ No newline at end of file -- Gitee