7-2-1 オリジナルの新しいクラスを定義しよう

Rubyでは、あらかじめ提供されている標準のクラスだけでなく、オリジナルの処理をする新しいクラスを定義することもできます。

Rubyが提供する標準のクラスは、数値や文字列などデータの種類に関するもの、配列やハッシュなど複数のデータをまとめるものがあります。

これらのクラスは、プログラミングによって処理を行うにあたり最低限の機能を提供しています。

しかし、より実戦的なプログラミングでは、現実の複雑な課題解決をするにあたり、データと処理のまとまりをオリジナルのクラスとして表現して、課題解決の手順を整理することが求められます。

たとえば、「消費税額を計算する」という課題解決にあたっては、「消費税が加算される前の消費税抜きの金額」というデータを元に、「消費税率を掛けて消費税額を算出する」「消費税額を元の金額に足して税込み額を算出する」という処理が関連付いています。

このように、「データ」と「処理のまとまり」は関係性が深いといえます。

クラスは、関連性が深いデータと処理をプログラムとしてまとめるための有効な手段です。

ここでは、「6章 メソッドを使ってプログラミングする」で定義した消費税額と税込み額を計算するメソッドを、オリジナルのクラスを定義して書き換えます。

このクラスは、「消費税に関連する一連の計算機である」という点から、英語で消費税をあらわす「Tax」と計算機を表す「Calculator」をあわせてTaxCalculatorと名付けます。

計算を実行するメソッドは、英語で「実行」をあらわすexecuteと名付けます。

# 消費税を計算するクラス
class TaxCalculator
  def execute
    # 計算を実行する処理
  end
end