0
0

More than 3 years have passed since last update.

クラスの定義

Posted at

オブジェクト

クラスは設計図、オブジェクトは実体を指す。
オブジェクトとインスタンスはほぼニュアンスだという認識でOK
クラスに基づいてオブジェクトを生成していくという認識。

ruby
class User  #クラスの作成
   def initialize(name, age)
      puts '#{name}さん、#{age}歳'
   end
end

User.new('Bob', 20)  #オブジェクトの作成
#=> Bobさん、20歳

インスタンス変数

・インスタンス変数の変数名は必ず@で始める。
例: @name = name

・インスタンス変数を参照できるのは、initializeメソッドとオブジェクトのインスタンスメソッドのみ。

・クラス内部ではインスタンス変数を使用可能。クラス外部から参照したい場合は参照用のメソッドを作成。

ruby
class User
   def initialize(name)
      @name = name
   end

   def name  #オブジェクトのインスタンスメソッド
      @name
   end
end
user = User.new('Bob')
user.name #=> "Bob"
#.name: nameメソッドを経由して@nameを取得している
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0