クラスは属性、メソッドを定義する場所
インスタンスはクラスに基づいた実態を作成する
流れ
クラスの生成
class クラス名(頭文字は大文字)
end
クラスメソッドを定義する
定義
class クラス名(頭文字は大文字)
def self.メソッド名
end
end
呼び出し
クラス名(頭文字は大文字).メソッド名(引数)
インスタンスの生成 newメソッドをつかう
変数 = クラス名(頭文字は大文字).new
インスタンスメソッドの生成
※インスタンス定義のクラス内で生成する必要
def メソッド名
end
呼び出し
インスタンス.メソッド名
クラス変数
クラス内であればどこでも使用できる変数。クラスメソッド、インスタンスメソッドどちらでも使用できる
定義
クラスの定義内で定義する
class クラス名
@@クラス変数
end
インスタンス変数
インスタンス内で使用できる変数。インスタンスメソッドの中でのインスタンス変数(@が付いた変数)の値は、そのインスタンスメソッドを利用したインスタンスが持つインスタンス変数の値になる
定義
def インスタンス名
@インスタンス変数 = gets.chomp
end
クラス変数はクラスで共通の変数となる
インスタンス変数はインスタンス内で共通の変数となる
initializeメソッド
インスタンスメソッドが生成されたと同時に実行されるインスタンスメソッド
def initialize
変数の定義など
end