04 物件導向 建構函式

2021-08-16 09:07:28 字數 1417 閱讀 7100

物件導向思想

乙個類中,只含有屬性和方法;

1:一種思考方式

2:複雜問題簡單化,從執行者變成指揮者

3:封裝

4:找物件,建立物件,使用物件,維護物件的關係

5:類與物件的關係

現實生活中的物件:張三,李四

想要描述:提取物件公共性內容,對具體的抽象

描述時:尋找現實中物件的共性

6:類就是:對現實生活中實物的描述

物件 :就是這類實物的 實實在在的個體

7:堆疊

棧儲存基本變數,陣列名,類名

堆中儲存new出來的空間,比如對陣列空間的分配,對類空間的分配

物件導向的三個特徵:封裝     繼承     多型

開發過程中,實際上就是找對 物件的使用,沒有物件,就建立乙個物件。

找物件,建立物件,使用物件,維護物件的關係;

區域性變數與成員變數

作用範圍:

成員變數作用於整個類中。

區域性變數作用於整個函式中,或者語句中。

在記憶體中位置:

成員變數儲存在堆記憶體中,因為物件存在,成員變數才會存在;

區域性變數儲存在棧記憶體中!!!(這裡有疑問,基本資料型別不是存放在棧記憶體中嗎?)

成員變數都有預設初始值;區域性變數無,不初始化,無法參加運算;

匿名物件

匿名物件是物件的簡寫格式

對於匿名物件,對匿名物件的屬性進行修改無意義

使用方法:

1:當對 物件的方法只呼叫一次時,可以用匿名物件完成,這樣比較簡單

2:可以將匿名物件作為實際引數進行傳遞

物件的初始化過程:

new物件的過程中,1 先載入*.class檔案(把資料從硬碟中載入到記憶體中)

2: 靜態成員,靜態**塊,靜態方法

靜態成員 預設初始化,顯示初始化,靜態**塊初始化

靜態**塊被執行(隨著類的載入執行一次)

3:在堆為new的物件開闢空間(屬性有了)

4:屬性預設初始化,顯示初始化,緊接著構造**塊初始化,建構函式初始化;

5: person p=new person(「zhangsan」,20)

1:因為new用到了person.class,所以會先找到person.class檔案並載入到記憶體中

2:執行該類的static**塊,如果有的話,給person.class類進行初始化

3:在堆記憶體中開闢空間,分配記憶體位址

4:在堆記憶體中建立物件的屬性,預設初始化

5:對屬性進行顯示初始化

6:對物件進行構造**塊初始化

7:對物件進行對應的建構函式初始化

8:將記憶體位址付給堆疊內中的變數

物件呼叫成員過程:成員只有被呼叫才會被使用(方法要有人使用);

物件導向 建構函式

建構函式 指的是用來建立物件的一種函式 建構函式的定義方式 就是普通函式的定義方式 建構函式的使用方式 一定要通過new來呼叫 function people name,age,var p new people 小明 23,男 稱呼問題 p是建構函式people建立出來的物件 叫做people的例項...

物件導向 建構函式

一 生成例項物件的原始模式 var cat var cat1 cat1.name 大毛 cat1.color 黃色 var cat2 cat2.name 二毛 cat2.color 黑色 二 解決 重複 寫乙個函式 function cat name,color var cat1 cat 三毛 紅色...

物件導向 建構函式 原型物件

3.建構函式的執行過程 4.建構函式的返回值 5.與普通函式的區別 原型物件 物件的封裝 proto 繼承使用prototype實現繼承 組合式繼承 定義 在js中,使用new關鍵字來呼叫的函式,被稱為建構函式。建構函式的作用 建立物件。假如需要建立多個類似的物件,我們會書寫很多重複的無意義 此時我...