物件導向 建構函式的區別

2022-08-16 00:36:12 字數 1310 閱讀 6929

物件導向程式設計

1.封裝性

物件導向程式設計核心思想之一就是將資料和對資料的操作封裝在一起,通過抽象即從具體的例項中抽取共同的性質形成一般的概念。

2.繼承 子類可以繼承父類的屬性和功能,即子類繼承了父類所有的資料和資料上的操作,同時又可以新增子類獨有的資料和資料上的操作。

3.多型有兩種意義的多型

1)操作名稱的多型

2)和繼承有關的多型

類: 習慣上類名的第乙個字母大寫。

編寫類的目的是為了描述一類實物共有的屬性和功能。類提的內柔有兩部分構成:一部分是變數的定義,用來刻畫屬性;另一部分是方法的定義用來刻畫功能。

建構函式:用於給物件進行初始化,是給與之對應的物件進行初始化,它具有針對性,函式中的一種。

特點:

1、該函式的名稱和所在類的名稱相同。

2、不需要定義返回值型別。

3、該函式沒有具體的返回值。

記住:所有物件建立時,都需要初始化才可以使用。

注意事項:乙個類在定義時,如果沒有定義過建構函式,那麼該類中會自動生成乙個空引數的建構函式,為了方便該類建立物件,完成初始化。如果在類中自定義了建構函式,那麼預設的建構函式就沒有了。

乙個類中,可以有多個建構函式,因為它們的函式名稱都相同,所以只能通過引數列表來區分。所以,乙個類中如果出現多個建構函式。它們的存在是以過載體現的。

建構函式和一般函式有什麼區別呢?

1、兩個函式定義格式不同。

2、建構函式是在物件建立時,就被呼叫,用於初始化,而且初始化動作只執行一次。

一般函式,是物件建立後,需要呼叫才執行,可以被呼叫多次。

構造**塊和建構函式有什麼區別?

構造**塊 :給物件進行初始化,物件一建立就執行而且優於建構函式執行。

構造**塊和建構函式的區別 :構造**塊是給所有物件進行統一初始化,而建構函式是給指定的物件進行初始化。

people p = new

people();

建立乙個物件都在記憶體中做了什麼事情?

1、先將硬碟上指定位置的people.class檔案載入進記憶體。

2、執行main方法時,在棧記憶體中開闢了main方法的空間(壓棧-進棧),然後在main方法的棧區分配了乙個變數p。

3、在堆記憶體中開闢乙個實體空間,分配了乙個記憶體首位址值。new

4、在該實體空間中進行屬性的空間分配,並進行了預設初始化。

5、對空間中的屬性進行顯示初始化。

6、進行實體的構造**塊初始化。

7、呼叫該實體對應的建構函式,進行建構函式初始化。

8、將首位址賦值給p ,p變數就引用了該實體。(指向了該物件)

物件導向 建構函式

建構函式 指的是用來建立物件的一種函式 建構函式的定義方式 就是普通函式的定義方式 建構函式的使用方式 一定要通過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關鍵字來呼叫的函式,被稱為建構函式。建構函式的作用 建立物件。假如需要建立多個類似的物件,我們會書寫很多重複的無意義 此時我...