原型模式 建立物件

2021-09-10 05:06:51 字數 922 閱讀 8036

原型模式

操作: 先建立好乙個原型物件,然後通過clone 原型物件來建立新的物件。這就免去了類建立時重複的初始化操作。

原型模式適用於大物件的建立。如果每次new 就會消耗很大,原型模式僅需要記憶體拷貝即可。

index.php 中

$prototype = new imooc\canvas();

$prototype->init(); //需要做很多很複雜的,耗時的處理

$prototype->rect(3, 6, 4, 12);

$prototype->draw();

echo "***************===

\n";

$canvas2 = clone $prototype;

$canvas2->rect(1,3, 2, 6); //和直接new 相比省掉 了init

$canvas2->draw();

canvas.php 中

<?php

/** * created by phpstorm.

*/namespace imooc;

class canvas

}$this->data = $data;

}public function rect($a1, $a2, $b1, $b2)}}

/* function adddecorator(drawdecorator $decorator)

function beforedraw()

}function afterdraw()

}*/ public function draw()

echo "

\n";

}//$this->afterdraw();

}}

建立物件及原型模式

工廠模式 function createperson name,age return o createperson 小明 18 建構函式模式 funciton person name age function say var person1 person 小明 18 建構函式的呼叫方式,需要建立 p...

建立物件之原型模式

1,原型模式建立物件 原型也是乙個物件。我們建立的函式都有乙個prototype屬性,這個屬性指向乙個物件,這個物件包含有特定函式建立的例項共享的屬性和方法。使用原型物件可以使所有的例項共享屬性和方法,而不必再建構函式中初始化屬性和方法。function person person.prototyp...

js建立物件 原型模式

原型模式是用來建立物件的,它是在建構函式建立物件基礎上,為了實現資料的共享,這種共享包括屬性的共享,也包括方法的共享。既然原型模式是在建構函式模式的基礎上改進的,那麼這種模式會既有建構函式的特點又有原型模式的特點。關於原型模式的使用方法用一句話總結 不需要共享的資料寫在建構函式中,需要共享的資料寫在...