setPrice()
方法です。と呼ばれるメソッドもあるようですがgetPrice()
、これらはおそらくオブジェクト内で呼び出されるインスタンス変数に対応していprice
ます。
の場合price
はprivate
、次のように呼び出しますgetPrice()
。
wineCase1.getPrice();
これは a を返します(が double 型であるとdouble
仮定します)。price
また、 が の場合price
はprivate
、次のように設定する必要があります。
wineCase1.setPrice(somePrice);
上記の例で、price
現在の 90% に設定する場合、適切な構文は次のようになります。
wineCase1.setPrice(0.9*wineCase1.getPrice());
public
または、このクラスのメソッドを次のように記述することもできます。
public void discountBy(double disc) {
price *= 1.0 - disc;
}
// or like this:
public void discountTo(double disc) {
price *= disc;
}
// or both...
この方法を使用して に 10% 割引を適用するには、次のwineCase1
ようにします。
wineCase1.discountBy(0.1);
// or like this:
wineCase1.discountTo(0.9);
その後、引き続き使用します:
wineCase1.getPrice();
オブジェクトからプライベート変数 を取得しprice
ます。
最後に、これが最善の解決策になる可能性があるため、次のメソッドを追加します。
public double getPriceDiscountedBy(double disc) {
return price*(1.0-disc);
}
public double getPriceDiscountedTo(double disc) {
return price*disc;
}
これらのメソッドを使用すると、アイテムの元の価格を変更せずに割引価格の値を取得できます。これらは を取得するのと同じ場所で呼び出されますgetPrice
が、割引引数を使用して、返された価格のみを変更します。例えば:
double discountedPriceOutsideOfObject = wineCase1.getPriceDiscountedTo(0.9);
//or like this:
double discountedPriceOutsideOfObject = wineCase1.getPriceDiscountedBy(0.1);