Skip to content

Commit 746a191

Browse files
committed
moving-between-classes: introduce private setter to discountRate
1 parent ff50271 commit 746a191

File tree

1 file changed

+7
-3
lines changed
  • src/moving-between-classes/customer

1 file changed

+7
-3
lines changed

src/moving-between-classes/customer/index.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,25 @@ const dateToday = () => new Date();
55
export class Customer {
66
constructor(name, discountRate) {
77
this._name = name;
8-
this._discountRate = discountRate;
8+
this._setDiscountRate(discountRate);
99
this._contract = new CustomerContract(dateToday());
1010
}
1111

1212
get discountRate() {
1313
return this._discountRate;
1414
}
1515

16+
_setDiscountRate(aNumber) {
17+
this._discountRate = aNumber;
18+
}
19+
1620
becomePreferred() {
17-
this._discountRate += 0.03;
21+
this._setDiscountRate(this.discountRate + 0.03);
1822
// other nice things
1923
}
2024

2125
applyDiscount(amount) {
22-
const discountValue = amount.multiply(this._discountRate);
26+
const discountValue = amount.multiply(this.discountRate);
2327
return amount.subtract(discountValue);
2428
}
2529
}

0 commit comments

Comments
 (0)