Ruby


initializeメソッド

オブジェクトの初期化に利用される特殊なメソッド。

newクラスメソッドでオブジェクトを作成したときに自動的に呼び出される。

初期化されていなくても参照できるが、自動的にnilが設定される。

インスタンス変数(@)

オブジェクトの処理対象となるデータで格納する変数。

アクセスできるのは、インスタンス変数を持つオブジェクトのメソッドに限定。外部からは、アクセスできない。

クラスが持つのは、定義。実体を持つのは、オブジェクト(インスタンス)。

attr_accessorメソッド

引数で指定したシンボル(:文字列)と同名のインスタンス変数にアクセスするメソッドを自動的に用意する。

オブジェクト

基本的にオブジェクトの状態は、メソッドの呼び出しで変わるもの。オブジェクト自身が管理し、外部に対して公開しない。

しかし、

オブジェクト内部の処理に応じて、状態が変わるのではなく環境の変化によって外部から操作される方が自然な場合もある。(例:View上のテキスト・ボタン)

このような外部に公開する状態を属性と呼ぶ。