物件導向中關鍵字元 new的意義

2021-07-24 01:58:45 字數 643 閱讀 5997

function

person

(name)

return obj;

}

以上**我能得到乙個person類

var p1 = person(『張三』);

var p2 = person(『李四』);

首先說一下這種寫法的問題;

關於this,在person類的內部this其實指向的是window;person類其實是乙個封裝函式;它不屬於某乙個物件,它是全域性的;所以掛在到的是window物件;一般函式中this指向的是這個方法所屬的那個物件;不難理解,最終this指向window;

而new 存在的意義是什麼呢;

當new 去呼叫乙個函式;函式中this指向的就是這個物件例項;並且函式的返回值就是這個this;

function

person

(name)

}

var p1 = new person(『張三』);

var p2 = new person(『李四』);

上面的寫法就是我們平常所說的工廠模式;

工廠模式本質就是封裝函式;

好處就是,物件不用乙個個去寫;同類的物件只要new一下就得到了。

C 物件導向的new關鍵字的使用

using system using system.collections.generic using system.linq using system.text namespace public class person public int age 父類建構函式 public person st...

物件導向關鍵字

this關鍵字 this是一種特殊的引用,指向當前物件 this的兩種使用方法 1 如果發生區域性變數可以成員變數命名衝突時,可以通過this.成員變數名的方式區分例項變數和區域性變數 2 乙個構造方法中需要呼叫同乙個類的另乙個構造方法,可以通過this 的方式呼叫,但this 必須要書寫在第一行 ...

物件導向 this 關鍵字

通過this關鍵字可以明確地訪問乙個類的成員變數,解決與區域性變數名稱相同的問題。示例 如下 public class cat 在上面的 中,構造方法的引數被定義為color,它是乙個區域性變數,在類中還定義了乙個成員變數,名稱也是color。在構造方法中如如果使用color,則訪問區域性變數,但如...