使用工廠方法和建構函式建立物件

2021-09-29 02:10:34 字數 1146 閱讀 1925

function createperson(name) 

// 返回新物件

return obj;

}var obj2 = createperson("孫悟空");

console.log(obj2);

侷限:使用工廠方法建立的物件,使用建構函式都是object,所以建立的物件都是object這個型別,導致我們無法區分多種不同型別的物件。

建構函式就是乙個普通函式,建立方式和普通函式沒有區別。不同的是建構函式習慣上首字母大寫。

建構函式和普通函式的區域就是呼叫方式不同。普通函式是直接呼叫,建構函式需要使用new關鍵字呼叫。

建構函式執行流程:

(1)立刻建立乙個新的物件。

(2)將新建物件設定為函式中的this, 在函式中可以使用this來引用新建的物件。

(3)逐行執行函式中**。

(4)將新建物件作為返回值返回。

function person(name) 

}function dog(name)

var per = new person(name);

var dog= new dog();

console.log(per)

console.log(dog)

執行以上**後型別為person、dog

使用同乙個建構函式建立的物件,我們稱為一類物件,也將乙個建構函式稱為乙個類。我們將通過乙個建構函式建立的物件,稱為是該類的例項。person類、dog類。

使用instanceof可以檢查乙個物件是否是乙個類的例項。語法:物件 instanceof 建構函式,如果是返回true否則是false。

console.log(per instanceof person) // true
所有物件都是object後代,所以任何物件和object和instanceof檢查是都返回true。

console.log(per instanceof object) // true
this:

當以函式的形式呼叫,this是window。

當以方法的形式呼叫,誰呼叫方法this就是誰。

當以建構函式的形式呼叫,this就是新建立的那個物件。

4 2 使用工廠方法建立Bean

不使用spring建立bean例項,而是把bean建立過程轉移到開發者手中。建立工廠類 package com.erick.d1.hello public class studentfactorystatic id student class com.erick.d1.hello.studentfa...

Spring 使用工廠方法例項化物件

如果某個物件需要通過靜態工廠或例項化工廠來建立,spring 該如何配置呢?首先定義乙個類,需要通過靜態工廠建立物件。package shangbo.spring.core.example5 public class outputservice 靜態工廠 public static outputse...

使用靜態工廠方法和例項工廠方法建立Bean

靜態工廠 工廠初始化之前,工廠中的類已經被例項化放在工廠容器中 例項工廠 工廠再構造方法初始化時,會將類進行例項化放在工廠中 factory method 指向靜態方法的名字 constructor arg 如果工廠方法需要傳入引數,則使用constructor arg來配置引數 1 使用靜態工廠方...