使用資料結構的程式碼容易添加新的函式,不用變動原本的程式碼,物件導向的程式碼容易添加新類別,不用變動已有的函式
1、資料結構:
Public class Square{
public Point topLeft;
public double side;
}
Public class Circle{
public Point center;
public double radius;
}
public class Geometry{
public double PI = 3.1515926;
public double area(Object shape){
if(shape instanceof Square){
Square s = (Square)shape;
return s.side*s.side;
}
else if(shape instanceof Circle){
Circle c = (Circle)shape;
return PI*c.radius*c.radius;
}
2、物件導向:
public class Square implements Shape{
public Point topLeft;
public double side;
public double area(){
return s.side*s.side;
}
}
public class Circle implements Shape{
public Point center;
public double radius;
public double PI = 3.1515926;
public double area(){
return PI*c.radius*c.radius;
}
}
