1.将事物抽象出来,站在更高角度思考问题,概念抽象
class Point {
public double x;
public double y;
}
过多暴露细节,即使设为私有和加入设置和访问器,仍然知道细节实现
public interface Point {
public double getX();
public double getY();
void setCartesian(double x, double y);
public double getR()
public double getTheta();
public void setPolar(double r, double theta);
}
接口编程,实现方式开放化,笛卡尔积或者极坐标都可以,抓住了事物本质