【原型模式应用场景举例】
比如在玩“极品飞车”这款游戏,每个游戏者都有自己的账号用来标识玩家,而每个玩家都可以拥有相同的车辆,这样每个玩家都拥有相同的车,比如你的领居有奥迪A6,你的老婆对你说,我也要开和邻居一样的奥迪A6,好了,现在你们家也有奥迪A6了,你们每天开着自己的车去上班,那么在这种情况下就可以应用原型模式了,原型模式很简单哟:)就是类的copy复制。
【原型模式解释】
类型:创建模式
用原型实例制定创建对象的种类,并且通过拷贝这些原型创建新的对象。
【原型模式UML图】
【原型模式-JAVA代码实现】
新建赛车的接口:
package
car_interface;
public
interface
car_interface {
public
void
start();
public
void
stop();
}
新建奥迪汽车的实现类:
package
car_imple;
import
car_fittings.car_tyre;
import
car_interface.car_interface;
public
class
audi_imple
implements
car_interface, Cloneable {
private
car_tyre car_tyre_ref;
public
void
start() {
System.out.println(
"
奥迪A6启动了
"
);
}
public
void
stop() {
System.out.println(
"
奥迪A6停止了
"
);
}
public
car_tyre getCar_tyre_ref() {
return
car_tyre_ref;
}
public
void
setCar_tyre_ref(car_tyre car_tyre_ref) {
this
.car_tyre_ref
=
car_tyre_ref;
}
@Override
public
Object clone()
throws
CloneNotSupportedException {
super
.clone();
audi_imple audi_imple
=
new
audi_imple();
audi_imple.setCar_tyre_ref(
new
car_tyre());
return
audi_imple;
}
}