当你需要在类型中输出不一样的参数属性时,可以通过相对应的方式,创造相对应的对象。
//工厂模式,针对不同的输入类型,在工厂类中进行相对应对象的创建。
class Car{
//定义一个属性,名字属性
name :string;
//工厂方法,静态方法需要用类进行调用,建立一个Car类型的create方法,里面参数是CarType类型
static Creat(carType : CarType):Car{
//创建一个变量,为Car类型的car
let car : Car ;
//switch 用于对属性进行分类判断
switch (carType){
case CarType.Audi:
car = new Audi();
break;
case CarType.Bmw:
car = new Bmw();
break;
case CarType.Benz:
car = new Benz();
break;
}
//返回car的类型对象
return car;
}
}
//枚举出CarType类型
enum CarType{
Bmw;
Audi;
Benz;
}
//实例Car类的一个对象
let bmw = Car.Create(CarType.Bmw);