Menu
Coddy logo textTech

まとめ:車の工場

CoddyのLuaジャーニー「Object Oriented Programming」セクションの一部 — レッスン 11/70。

challenge icon

チャレンジ

簡単

この章で学んだすべてを統合して、完全な Car クラスを作成しましょう!各車が独自のモデルと色を持つ自動車工場システムを作成し、適切なモジュール構成と独立したインスタンスの実証を行います。

コードは2つのファイルに分けて構成します:

  • Car.lua: 標準的なプロトタイプパターンに従って Car クラスを定義します。クラスには、独自の属性を持つ車を作成する :new(model, color) コンストラクタが必要です。また、各車が自己紹介を行う :describe() メソッドを含めてください。
  • main.lua: Car モジュールを require し、複数の車のインスタンスを作成して、各車が独自の独立した状態を保持していることを示します。

:describe() メソッドは、以下の正確な形式で出力する必要があります:

A [color] [model]

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

  1. 1台目の車のモデル
  2. 1台目の車の色
  3. 2台目の車のモデル
  4. 2台目の車の色

メインファイルで、提供された入力を使用して2台の車を作成し、それぞれの車に別々の行で自己紹介をさせてください。

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

A blue Sedan
A red Truck

各車は独自のモデルと色を保存する必要があり、これによりクラスが真に独立したインスタンスを作成していることが証明されます。

自分で試してみよう

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

-- 入力を読み込む
local model1 = io.read()
local color1 = io.read()
local model2 = io.read()
local color2 = io.read()

-- TODO: Car:new() を使用して2つの車のインスタンスを作成する
-- TODO: 各車に対して :describe() を呼び出し、その説明を表示する

Object Oriented Programmingのすべてのレッスン