面向對象編程要點

1 面向對象與面向過程的本質區別

  從思想來講,面向過程強調的是做了一件什麼事情,強調這個過程以及做的方法;而面向對象強調的是對象,也就是誰做了一件事情,這件事情是此對象的一個屬性,使用者只需要知道這個對象可以做這個事情,不需要知道具體它是怎麼樣一個過程。

2 三要素

  (1)封裝:把過程和數據包圍起來,對數據的訪問只能通過已定義的接口。

  (2)繼承:一種聯結類的層次模型,允許、鼓勵類重用,提供了一種明確表述共性的方法。

  (3)多態:允許不同類的對象對同一消息作出響應。

3 五基本原則

  (1)單一職責原則(Single-Resposibility Principle):一個類,最好只做一件事,只有一個引起它的變化。強調低耦合、高內聚,以提高內聚性來減少引起變化的原因。

  (2)開放封閉原則(Open-Closed principle):對擴展開放,對修改封閉的。

  (3)Liskov替換原則(Liskov-Substituion Principle):子類必須能夠替換其基類,也就是基類具有的方法和數據子類都有。這樣才能保證系統在運行期內識別子類,這是保證繼承複用的基礎。

  (4)依賴倒置原則(Dependecy-Inversion Principle):依賴於抽象。具體而言就是高層模塊不依賴於底層模塊,二者都同依賴於抽象;抽象不依賴於具體,具體依賴於抽象。具體實現來說要求分離接口和實現:在依賴之間定義一個抽象的接口使得高層模塊調用接口,而底層模塊實現接口的定義,以此來有效控制耦合關係,達到依賴於抽象的設計目標。

  (5)接口隔離原則(Interface-Segregation Principle):使用多個小的專門的接口,而不要使用一個大的總接口。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章