1. 程式人生 > >如何理解面向對象

如何理解面向對象

如何理解面向對象

  1. 如何理解面向對象?

    什麽是面向對象,面向對象其實就是一種設計模型。不用理解太多,這裏不是最重要。

  2. 面向對象的基本特征如何理解?

    1)抽象:將相同事物抽象出來成為一種數據結構,或者是用類(面向對象),或者是用結構體(面向過程)比如KNN算法,求解測試樣本的k個鄰接點,這k個鄰接點,甚至整個鄰接點都可以抽象出來一種數據結構。在比如決策樹算法中,構建決策樹,由於一個決策樹有多個結點,結點和結點之間互相生成。首先要抽象出結點的數據類型,這就是抽象。

    2)封裝:封裝的好處就是使離散的數據整體化,將離散的數據組織起來,利於管理。在使用的時候,一個是使用方面,二個語意理解容易。比如說我們傳參數的時候,你傳個對象,就比傳多個參數就好,因為你要調用的是多個參數。例如在hibernate中經常把取出的記錄,封裝到javabean中,再或者Struts中,經常講輸入的數據封裝到表單中,都是體現了封裝的思想。

    3)繼承:繼承體現了代碼的復用性提高了,繼承體現了is a的特性,比如吧,人和老人,兒童,老人和兒童 all is people ,接口體現了 like a的特性,比如貓和狗,他們都會睡覺,他們之間有相同的行為,就可以理解他們之間很像。

    4)多態:是指在執行期間判斷所引用對象的實際類型,根據其實際的類型調用其相應的方法。在傳參數的時候,可以接受多種相關類型的參數。

  3. 面向對象中一些基本概念和術語理解

    可復用性(可重用性):;舉個例子,在j2ee中,經常會出現多個service調用一個dao,那個dao的復用性就得到了大大的提高了。這樣的話,分層很好,維護更加容易。

  4. 設計模式如何理解?

    1)常見的基本原則,這些原則具有指導性,後期的設計模式在設計的時候,它都遵循了一定的規範,但千萬不要為基本原則所累,了解下,體會下,領悟下,就可以了。

    2)理解真正的設計模式,有助於對網站,android,各種開發框架,甚至是大數據各個平臺和軟件維護都有更好的理解,真正理解了它,如果在懂算法的話,你就可以真正的去有讀源碼的功底了,如果達到這樣的話,你的編程水平,就不是普通級別的人了。

本文出自 “簡答生活” 博客,謝絕轉載!

如何理解面向對象