diff --git "a/44 \344\273\243\347\221\236/\345\244\232\346\200\201.md" "b/44 \344\273\243\347\221\236/\345\244\232\346\200\201.md" new file mode 100644 index 0000000000000000000000000000000000000000..b4446831f335b5d4a15f687f53f51f6499703f41 --- /dev/null +++ "b/44 \344\273\243\347\221\236/\345\244\232\346\200\201.md" @@ -0,0 +1,148 @@ +## 作业 + +``` +题目 +//## 多态练习 +//### 1、图形 +//(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方法中创建多个圆和矩形对象,再调用方法比较他们的周长或面积。 +// +``` + +## 父类 + +``` java +public class Graphic { + public double area(){ + return 0.0; + } + public double perimeter(){ + return 0.0; + } + public String getInfo(){ + String Graphic=null; + return Graphic; + } +} +class Circle extends Graphic{ + private double radivs; + + public double getRadivs() { + return radivs; + } + + public void setRadivs(double radivs) { + this.radivs = radivs; + } + + public Circle() { + } + + public Circle(double radivs) { + this.radivs = radivs; + } + + @Override + public double area() { + return Math.PI*radivs*radivs; + } + + @Override + public double perimeter() { + return Math.PI*2*radivs; + } + + @Override + public String getInfo() { + return "面积:"+Math.PI*radivs*radivs+"周长:"+Math.PI*2*radivs+"半径:"+this.radivs; + } +} +class Rectangle extends Graphic{ + private double length; + private double width; + + public Rectangle(double length, double width) { + this.length = length; + this.width = width; + } + + public Rectangle() { + } + + 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 "长:"+length+"宽:"+width+ "面积:"+length*width+"周长:"+(length+width)*2; + } +} +``` + +## 测试类 + +``` java +public class Test { + public static void main(String[] args) { + Graphic c = new Circle(5.5); + double a=c.area(); + double p = c.perimeter(); + System.out.println(c.area()); + System.out.println(c.perimeter()); + System.out.println(c.getInfo()); + Graphic R = new Rectangle(12,5); + double A = R.area(); + double P = R.perimeter(); + System.out.println(R.getInfo()); + System.out.println("圆的面积大于矩形的面积是:"+fanf(a, A)); + System.out.println("圆的周长大于矩形的周长是:"+fanf2(p, P)); + } + public static boolean fanf(double a,double A){ + return a>A; + } + public static boolean fanf2(double p,Double P){ + return p>P; + } +} + +``` +