演習課題「インスタンスを実体化しよう」
右のコードには、Greetingクラスに、「hello XXX」と表示するsay_helloメソッドが定義されています。
「XXX」の部分は、インスタンスを実体化する時に指定できます。
このクラスから実体化して、say_helloメソッドを呼び出し、「hello paiza」と表示してください。
プログラムを実行して、正しく出力されれば演習課題クリアです!
期待する出力値
hello paiza
演習課題「クラスにインスタンス変数を追加しよう」
右のコードは、Greetingクラスのsay_helloメソッドを呼び出していますが、メソッドの処理が記述されていません。
以下のテキストを表示するよう、メソッドにコードを追加してください。
hello paiza
プログラムを実行して、正しく出力されれば演習課題クリアです!
期待する出力値
hello paiza
演習課題「間違い探し」
右のコードでは、say_helloメソッドを呼び出していますが、エラーになってしまいます。
間違いを修正して、「hello paiza」と表示されるようにしてください。
プログラムを実行して、正しく出力されれば演習課題クリアです!
期待する出力値
hello paiza
#03:変数をクラスで管理しよう
ここでは、クラスで変数を管理する方法を学習します。先ほど、メソッドを持つオブジェクトを作ったので、このオブジェクトに変数を持たせてみましょう。
class Player
def initialize(job) # 初期化メソッド
@job = job
end
def walk()
puts "#{@job}は、荒野を歩いていた。"
end
end
player1 = Player.new("戦士")
player1.walk()
インスタンス変数は、実体化したインスタンスが持つ変数です。インスタンス変数は、インスタンスがある限りデータが保持されます。
インスタンス変数は、変数名の先頭に「@」を付けます。
@jobをオブジェクト外から読み書きする# 読み出しと書き込みの両方
attr_accessor :job
また、次のようにすると、読み出しのみ、書き込みのみも指定できます。# 読み出しのみ
attr_reader :job
# 書き込みのみ
attr_writer :job
- rubyにおけるオブジェクト指向とはなにか(๑•̀ㅂ•́)و✧【基礎】 - Qiita
http://qiita.com/kansiho/items/13b5e9a32ddfc9bea01c
- 【Ruby】クラスの基本について - TASK NOTES
http://www.task-notes.com/entry/20141207/1417951906
- 【まとめ】インスタンス変数、クラス変数、クラスインスタンス変数 - Qiita
http://qiita.com/mogulla3/items/cd4d6e188c34c6819709