面象對象


什麼時面向對象?

由於現實社會是由各種各樣的事物所組成的,而我們編程又是在模擬現實社會,那麼在程序也要用一些東西來表示現實社會中的事物,這些東西就是程序中的對象。我們在程序中使用這些對象,對其特徵和行爲進行操作進行編程,這就是面向對象編程。

面向對象編程的優點

提高代碼複用性。

使用者無需關心具體細節。  

轉變程序員角色,更加符合人的思維習慣。  

什麼是類

類是用來描述對象的。由於對象是虛擬出來的東西,是看不見摸不着的,我們需要在程序中使用對象,就需要用一種方式來描述對象,然後根據這個描述來創建對象。

類和對象的關係

對象是類的實例,類是對象的描述。

對象的創建

new 關鍵字和對象名來創建對象

例:person p = new person( );

這句話先在堆內存中創建了一個對象,然後棧內存中創建一個變量引用了對象的地址。

匿名對象

匿名對象就是沒有名字的對象,是對象的簡寫格式

Car c2= new Car( );

c2.run( );

簡寫:new Car( ).r un ( );

對象對方法進行一次調用的時候,可以使用匿名對象來簡化。當對對象的成員進行多次調用時,必須起名。

 Car car=new Car( );

成員變量和局部變量的區別

1.定義的位置不同。

 成員變量定義在類,作用於整個類

 局部變量定義函數,作用於整個函數,或者定義在語句,作用於語句內。

 

2.內存出現的時間和位置不同

 成員變量:當對象創建時,出現在堆內存的對象當中

 局部變量:隨着所區間運算結束,立刻被釋放。

3.生命週期不同

 成員變量:隨着對象的出現而出現,隨着對象的消失而消失。

 局部變量:隨着所屬區間運算結束,立刻被釋放。

4.初始化值

 成員變量:因爲在堆內存中,都有默認初始化值。

 局部變量:沒有初始化值

成員變量的初始化

當一個對象被創建時,會對其中各種類型的成員變量自動進行初始化賦值。基本數據類型初始化值爲0,引用數據類型初始化值爲null

對象的生命週期

對象的生命週期從new關鍵字創建時開始,到沒有任何引用到達對象時結束(成爲垃圾)

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