1、考慮類
   名詞

2、屬性
  不可脫離具體的應用環境
一般為private,不能直接讀寫

3、方法

4、類之間的關系

5、隱藏(封裝)
  降低耦合度

6、繼承

7、多態
含有abstract方法的類應為abstract類

核心中的核心
OO的好處:可擴展性(Extensibility)
===============
注意:
a)設計沒有絕對的對與錯
b)Over Design也是一種罪過
c)沒有任何實際中的設計會一步到位
d)初學者不要考慮太多的原則和條條框框,最重要的是動手寫
  抽象類與接口(確實存在的某一事物則定義為抽象類,多件事物存在著某一些共同的特性,將這些共同的特性定義為接口)