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



この記事が気に入ったらサポートをしてみませんか?