Menu
Coddy logo textTech

入金メソッド

CoddyのLuaジャーニー「オブジェクト指向プログラミング」セクションの一部 — レッスン 20/70。

challenge icon

チャレンジ

簡単

Digital Bankプロジェクトをスタートします。新しいシステムに機能を追加していきましょう!アカウントが初期残高0で作成できるようになったので、預金(deposit)によってお金を受け取る機能を追加しましょう。

既存の Account クラスを拡張し、アカウントの balance を指定された量だけ増加させる :deposit(amount) メソッドを追加します。これは基本的な銀行操作です。お金が入ると balance が増えます!

2つのファイル:

  • Account.lua: :deposit(amount) メソッドを追加して Account クラスを拡張します。このメソッドは与えられた amount を self.balance に加算する必要があります。前回のレッスンで作成した内容(クラス構造と :new() コンストラクタ)はすべて残しておきます。
  • main.lua: Account モジュールを require し、アカウントを作成して預金をいくつか行い、balance がどのように変化するかを表示します。

3つの入力を受け取ります:

  1. 1回目の預金額
  2. 2回目の預金額
  3. 3回目の預金額

main ファイルでアカウントを1つ作成し、順番に3回の deposit を実行します。各預金の後に、現在の balance を改行して print してください。

例えば、入力が 1005025 の場合、出力は次のようになります:

100
150
175

各預金が前の残高に加算されていく点に注意してください。アカウントは0から始まり、最初の預金後に100になり、2回目後に150、3回目後に175へと増えていきます。作成する :deposit() メソッドによってこの蓄積が実現されます!

自分で試してみよう

-- Accountモジュールを読み込む
local Account = require('Account')

-- 3つの入金額を読み取る
local deposit1 = tonumber(io.read())
local deposit2 = tonumber(io.read())
local deposit3 = tonumber(io.read())

-- アカウントを1つ作成する
local account = Account:new()

-- 3回の入金を行い、それぞれ後に残高を表示する
-- TODO: deposit1を入金してaccount.balanceを表示する

-- TODO: deposit2を入金してaccount.balanceを表示する

-- TODO: deposit3を入金してaccount.balanceを表示する

オブジェクト指向プログラミングのすべてのレッスン