Rubyのクラス定義・initialize(コンストラクタ)

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

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
スポンサーリンク
 
スポンサーリンク