6. JavaSE-面向對象簡介

面向對象

    面向對象本身是一種思想,而非一種編程算法。

例如:

    面向對象:冰箱打開、冰箱存儲、冰箱關閉

    面過程:打開冰箱、將大象放進去、關閉冰箱門


面向過程思想:強調的是過程(動作及函數)

面向對象思想:強調的是對象(實體)

 

面向過程:C語言

面向對象:javac++c#、Python

 

面向對象:

    1. 符合人們的思考習慣

    2. 將複雜問題簡單化

    3. 讓曾經在面向過程之中的執行者變成面向對象中的指揮者

 

類和對象之間的關係:

    1. 類是模型  對象是該模型的實體(例如汽車的製造過程)

    2. 用java語言對現實生活中的事物進行描述(通過類的形式來體現的)

    3. 對於事物描述通常只關注兩方面,即屬性和行爲(有四個軲轆、能跑)

    4. 只要明確該事物的屬性和行爲並定義在類中即可

 

對象:

    1. 其實就是該類實實在在存在的個體,通過new創建

    2. 在寫程序之前一定要先分析,例如寫汽車的類

        1)要先分析汽車有哪些屬性(顏色、輪胎數),有哪些行爲(運行)

        2)然後在具體的實例化


內存:堆內存(存儲對象)、棧內存(存儲臨時變量)

對象的內存體現:在堆內存中

對象的出現:爲封裝數據,和數組類似

局部變量和成員變量:

    1. 成員變量定義在類中,整個類中都可以訪問

    2. 局部變量定義在方法中,語句中,局部代碼塊中,在所屬的區域有效

    3. 成員變量存在於堆內存的對象中

    4. 局部變量存在於棧內存的方法中

    5. 成員變量隨着對象的創建而創建,隨着對象的消亡而消亡

    6. 局部變量是隨着自己所屬的區域變化

    7. 成員變量都有默認初始化值,局部變量沒有初始化值

    8. 局部變量和成員變量同名:局部變量將屏蔽成員變量


    注意:編程序一定要注意代碼的清晰簡潔,代碼複用性

 

函數間參數傳遞分爲引用參數傳遞(堆)和基本參數傳遞(棧);注意當對象做參數的時候,也是引用參數傳遞類型


封裝:

    1. 在面向對象中是指隱藏對象的屬性和實現細節,僅對外提供公共訪問接口

    2. 提高安全性,對外提供訪問接口的目的是因爲屬性可控


實例:電腦主機

    如屬性的getset方法,在開發過程中,一般成員變量都是私有的,並且一定會伴有getset方法

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