このカリキュラムでは問題のあるコードを改善していくことで、オブジェクト指向の考え方を体験していきます。
こちらのコードを利用して学習をすすめていきます。これは自動販売機をシミュレートしたコードで投入した金額に応じて、商品(飲み物)やお釣りが出てきます。例えば、自動販売機に500円を投入しコーラを選択すると商品のコーラとお釣りの400円が返却されます(商品は一律100円)。
自動販売機であるVendingMachineと飲み物を表すDrinkのクラスがあり、それを実行するmain.rb
とテストコードのtest.rb
で実装されています。今回はこのプログラムに以下のオブジェクト指向エクササイズの規約を一つずつ適用しながら、その変化を確認していきます。合計7つのstepを通して学んでいきます。
以下の規約に従うことで、オブジェクト指向による設計やプログラミングを実際のプログラムに適用します。
このstepでは、名前を省略しないことを適用してみます。
VendingMachine
クラスのbuy
メソッドの引数でi
という引数名が定義されていますが、このままではこの引数の役割がわかりません。このi
は自動販売機に投入した金額の引数のため、支払いを意味するpayment
という名前に変更しましょう。