7-2-3 オリジナルのクラスを定義して使う方法をおさえよう

クラスを定義する方法

オリジナルのクラスを新たに定義するには、classと宣言した後、先頭大文字のアルファベットでクラス名を記述し、クラス定義の最後にendで囲みます。

クラスに定義するメソッドは、defendで囲んで定義します。

Rubyでは、メソッドにも先頭に大文字を使用することができますが、先頭が大文字だとクラスか定数のように誤解されるのを防ぐため、メソッド名は小文字で書くことが推奨されます。

定義したクラスを使う方法

定義したクラスのオブジェクトを生成するには、クラス.newと記述します。

このnewメソッドはあらかじめ用意されているメソッドです。呼ばれるとそのクラスのオブジェクト(インスタンス)を戻り値として返却します。

クラスで定義したメソッドは、オブジェクト.メソッドと記述すると呼び出すことができます。

initializeメソッド

クラスには特殊なメソッドがあらかじめ用意されています。その代表例がinitializeメソッドです。

initializeイニシャライズと読み、英語で「初期化する」という意味です。

クラスにおけるinitializeメソッドも、まさにクラスの初期化の処理を記述するためのメソッドです。

クラスのnewメソッドが呼ばれてインスタンスが生成された時点で、まずinitializeメソッドの処理が自動的に実行されます。

前ページ「7-2-2 消費税額と税込み額を計算するクラスを定義しよう」で、TaxCalculator.newとした直後に"calculater is starting."というメッセージが表示されたのは、initializeメソッドの処理が実行されたからです。

オリジナルのクラスを定義して使う方法のまとめ

  • オリジナルのクラスを定義するには、class宣言を使う
  • クラスにはメソッドを定義できる
  • クラスを使うにはnewメソッドを使ってインスタンスを生成する
  • クラスに実装したメソッドは、インスタンスからドットをつなげて呼び出せる
  • インスタンスを生成した直後の初期化処理はinitializeメソッドを使う