class Cash {
//你的代码
}
const cash1 = new Cash(105);
const cash2 = new Cash(66);
const cash3 = cash1.add(cash2);
const cash4 = Cash.add(cash1, cash2);
const cash5 = new Cash(cash1 + cash2);
console.log(`${cash3}`, `${cash4}`, `${cash5}`);
输出结果为:1元7角1分 1元7角1分 1元7角1分
我只能实现前两个功能:
class Cash {
constructor(c){
this.cash = c;
}
static add(c1,c2){
var sum = (c1.cash + c2.cash)+'';
return `${sum[0]}元${sum[1]}角${sum[2]}分`;
}
add(c2){
var sum = (this.cash + c2.cash)+'';
return `${sum[0]}元${sum[1]}角${sum[2]}分`;
}
toString(){
return this.cash;
}
}
const cash1 = new Cash(105);
const cash2 = new Cash(66);
const cash3 = cash1.add(cash2);
const cash4 = Cash.add(cash1, cash2);
const cash5 = new Cash(cash1 + cash2);
console.log(`${cash3}`, `${cash4}`, `${cash5}`);
输出为:1元7角1分 1元7角1分 171
Edit:
抱歉之前没有考虑链式调用的情况,修改了部分代码