0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

セッターとゲッターについてまとめる

Last updated at Posted at 2019-11-07

####セッターとゲッター

user.rb
class User
 def name=(name) #セッターを定義
  @name = name
 end

 def name #ゲッターを定義
  @name 
 end 
end

上記の一つ目のdef内で「name=」というメソッドを追加している
これはインスタンス変数を代入するためのメソッドでセッターと呼ぶ。

>user = User.new
>user.name = "吉田沙織"
=>"吉田沙織"

これによりインスタンス変数に名前を代入することが可能になった。

また二つ目のdef内ではインスタンス変数の内容を参照するためのメソッドを作成している。
これをゲッターと呼ぶ

>user.name
=> "吉田沙織"

これにより名前を設定し,設定した名前を返すことができるようになった。

####ゲッターとセッターをもっと簡単に定義する
Rubyではゲッターセッターを定義するために、上記のコードのような機械的な記述をする必要がない。
そのためにattr_accessorというメソッドを使う
書き方は以下の通りである

class User
 attr_accessor :name
end

非常に簡単に記述できる。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?