Ruby Classについて 1
attr_accessor
クラス内で変数を定義するためのメソッド。
引数に与えられたシンボルがクラス内の変数として定義される。
attr_accessor :name, :type, :date #こちらが一般的
attr_accessor(:name, :type, :date) #こういう書き方と同じ意味
これらのインスタンス変数として定義され、実際には@name、@type、@dateとして定義されている。
initialize
インスタンスを生成する時に最初に呼び出されるメソッド。
そのためクラスの初期化のためのメソッドとして働くことが普通。
self.name = 'hoge'
self.type = "test"
self.date = "aaa"
selfとは
クラス内部の変数やメソッドを明示するときに使用。
Hogeクラスが存在するとして、
test = Hoge.new
このtestがselfに代入される。
継承の際によく出てくるsuperとは
親クラスのメソッドを使うということ。
Class Oya内にinitializeメソッドがあり、子クラスのClass Koの中でsuperを使用するとOyaクラスのinitializeを適用しているとうことに。
Class Oya
def initialize(type,hp,power)
self.type = type
self.hp = hp
self.power = power
end
end
Class Ko
def initialize
super("hoge",10,3)
end
end
この記事が気に入ったらサポートをしてみませんか?