最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

詳解JavaScript中的構造器Constructor模式_javascript技巧

來源:懂視網 責編:小采 時間:2020-11-27 21:48:50
文檔

詳解JavaScript中的構造器Constructor模式_javascript技巧

詳解JavaScript中的構造器Constructor模式_javascript技巧:構造器模式簡單描述(看圖): 構造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。構造器用于創(chuàng)建特定類型對象——準備好對象以備使用,同時接收構造器可以使用的參數,以在第一次創(chuàng)建對象時,設置成員屬性和方法的值 1、
推薦度:
導讀詳解JavaScript中的構造器Constructor模式_javascript技巧:構造器模式簡單描述(看圖): 構造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。構造器用于創(chuàng)建特定類型對象——準備好對象以備使用,同時接收構造器可以使用的參數,以在第一次創(chuàng)建對象時,設置成員屬性和方法的值 1、
構造器模式簡單描述(看圖):

構造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。構造器用于創(chuàng)建特定類型對象——準備好對象以備使用,同時接收構造器可以使用的參數,以在第一次創(chuàng)建對象時,設置成員屬性和方法的值

1、創(chuàng)建對象

新對象創(chuàng)建的兩種方法

2、基本Constructor

Javascript不支持類的情況下對象與Constructor,通過new關鍵字實例化一個對象,代碼大概是這樣的

3、帶原型的Constructor

JavaScript 有prototype屬性。及調用JavaScript構造器創(chuàng)建一個對象后,新對象就會具有構造器原型的所有屬性。同過這種方式,可以創(chuàng)建多個Car對象(訪問相同的原型)

現(xiàn)在toString()的單一實例就能夠在所有Car對象之間共享了

下面給大家分享構造器constructor在實際項目中易錯的題

class A {
public int Avar;
public A() {
System.out.println("AAA");
doSomething();
}
public void doSomething() {
Avar = 1111;
System.out.println("A.doSomething()");
}
}
public class B extends A {
public int Bvar = 2222;
public B() {
System.out.println("BBB");
doSomething();
System.out.println("Avar=" + Avar);
}
public void doSomething() {
System.out.println("Bvar=" + Bvar);
}
public static void main(String[] args) {
new B();
}
}

順序是這樣得,首先生成B就得先生成A,所以調用A的構造器,輸出AAA,然后調用方法dosomething,注意:A的該方法被B覆蓋,而你生成的是B的對象,所以它調用B的方法,由于BVAR目前沒有給定值,所以自動初始化為0;

然后生成B對象,先初始化變量BVAR,然后調用構造器輸出BBB,然后調用方法,這時BVAR已初始化,所以輸出BVAR=2222,而對象A中變量AVAR由于沒有調用對象A的方法dosomething,所以其值為0,則輸出0

全部輸出就如下:

AAA
Bvar=0
BBB
Bvar=2222
Avar=0

注意:初始化順序,當繼承時,先生成超類對象,生成對象時,先生成靜態(tài)變量,然后是一般變量,然后調用構造器!當所有超類對象生成后,生成本對象,順序一樣! 當方法被覆蓋時,調用目前對象的方法!這得注意。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

詳解JavaScript中的構造器Constructor模式_javascript技巧

詳解JavaScript中的構造器Constructor模式_javascript技巧:構造器模式簡單描述(看圖): 構造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。構造器用于創(chuàng)建特定類型對象——準備好對象以備使用,同時接收構造器可以使用的參數,以在第一次創(chuàng)建對象時,設置成員屬性和方法的值 1、
推薦度:
標簽: 模式 js javascript
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top