代码
const {ccclass, property} = cc._decorator;
@ccclass
export default class FactoryPattern extends cc.Component {
start () {
let fact=new HuaWeiFactory();
fact.CreatePhone().SayHello();
}
}
interface Phone{
SayHello();
}
class iPhone implements Phone{
SayHello() {
console.log("Hello Iphone");
}
}
class HuaWeiPhone implements Phone{
SayHello() {
console.log("Hello HuaWeiPhone");
}
}
interface Factory{
CreatePhone():Phone;
}
class IPhoneFactory implements Factory{
CreatePhone(): Phone {
return new iPhone()
}
}
class HuaWeiFactory implements Factory{
CreatePhone(): Phone {
return new HuaWeiPhone()
}
}