需求
设置坦克能够执行“发射”、“跑”两种机能,两种机能引几种不同会有不同的执行标准,单是两种机能是固定的。
设计
父类执行“发射”、“跑”的机能,两个机能的具体动作有子类负责。
运行效果
代码
console.log('模板方法演示:');
class Tank {
constructor(property) {
this.property = property;
}
operation() {
this.sort();
this.run();
}
}
class B70Tank extends Tank {
constructor() {
super(70);
}
sort() {
console.log("发射:" + this.property);
}
run() {
console.log("跑:" + this.property);
}
}
class B50Tank extends Tank {
constructor() {
super(50);
}
sort() {
console.log("发射:" + this.property);
}
run() {
console.log("跑:" + this.property);
}
}
// 客户端
class Client {
main() {
let b70Tank = new B70Tank();
b70Tank.operation();
let b50Tank = new B50Tank();
b50Tank.operation();
}
}
var client = new Client();
client.main();