Rubyのクラス定義の基本を見てみます。
Rubyの場合、クラス定義には、class文を使います。
ただし、クラス名は大文字ではじめなければならないという約束事があります。
Rubyのクラスでのコンストラクタの役割は、initializeメソッドが担います。
initializeメソッドにより、オブジェクト(クラスのインスタンス)の初期化が行われます。
簡単なクラス定義として、Profileクラスを作ってみます。
インスタンス変数とメソッドを追加することで、名前、年齢、身長、体重、所在地などのデータから構成される、人物プロフィールのクラスを定義することもできるでしょう。
まずは、Rubyのクラス定義の、ごくシンプルな基本形です。
class Profile
def initialize(name_one = "Tom") # コンストラクタ
@name = name_one
end
def hello # helloメソッド
puts "Hello, #{@name}"
end
end
tom = Profile.new
bob = Profile.new("Bob")
tom.hello
bob.hello
コンストラクタ名に、initializeという名前の特別なメソッドを使う、という点以外は、他言語と同じような形でクラス定義が行えます。
クラスをインスタンス化(オブジェクト生成)する時には、「クラス名.new」と書き、initializeメソッドが引数を取る場合は、引数を渡してインスタンス初期化が行えます。
実行結果。
Hello, Tom Hello, Bob
■この記事のトラックバックURL:
http://www.mapee.jp/mpe334/mt-tb.cgi/342