定義三個(gè)類,父類GeometricObject代表幾何形狀,子類Circle代表圓形,MyRectangle代表矩形。
定義一個(gè)測(cè)試類GeometricTest,編寫equalsArea方法測(cè)試兩個(gè)對(duì)象的面積是否相等(注意方法的參
數(shù)類型,利用動(dòng)態(tài)綁定技術(shù)),編寫displayGeometricObject方法顯示對(duì)象的面積(注意方法的參
數(shù)類型,利用動(dòng)態(tài)綁定技術(shù))。
代碼實(shí)現(xiàn)
public class GeometricObject {private String color
;private double weight
;public GeometricObject(String color
, double weight
) {this.color
= color
;this.weight
= weight
;}public String
getColor() {return color
;}public void setColor(String color
) {this.color
= color
;}public double getWeight() {return weight
;}public void setWeight(double weight
) {this.weight
= weight
;}public double findArea(){return 0.0;}
}
public class Circle extends GeometricObject{private double radius
;public Circle(double radius
,String color
, double weight
) {super(color
, weight
);this.radius
=radius
;}public double getRadius() {return radius
;}public void setRadius(double radius
) {this.radius
= radius
;}@Overridepublic double findArea() {return Math
.PI
*radius
*radius
;}
}
public class MyRectangle extends GeometricObject{private double width
;private double height
;public MyRectangle(double width
,double height
,String color
, double weight
) {super(color
, weight
);this.height
=height
;this.width
=width
;}public double getWidth() {return width
;}public void setWidth(double width
) {this.width
= width
;}public double getHeight() {return height
;}public void setHeight(double height
) {this.height
= height
;}@Overridepublic double findArea() {return height
*width
;}
}
public class GeometricTest {public static void main(String
[] args
) {GeometricTest geometricTest
=new GeometricTest();Circle circle
=new Circle(2,"white",1.0);Circle circle1
=new Circle(3,"white",1.0);boolean isEquals
= geometricTest
.equalsArea(circle
,circle1
);System
.out
.println(isEquals
);MyRectangle myRectangle
= new MyRectangle(2,3,"black",1.0);System
.out
.println(geometricTest
.displayGeometricObject(myRectangle
));}public double displayGeometricObject(GeometricObject o
) {return o
.findArea();}public boolean equalsArea(GeometricObject o1
, GeometricObject o2
) {return o1
.findArea() == o2
.findArea();}
}
原創(chuàng)不易,喜歡就點(diǎn)個(gè)贊吧.
總結(jié)
以上是生活随笔為你收集整理的java多态的练习 ,定义三个类,父类GeometricObject代表几何形状,子类Circle代表圆形,MyRectangle代表矩形。 定义一个测试类GeometricTest,编写equals的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。