プログラミング、フリーダイビング、旅行のブログ

プログラミング道場

【Ruby入門】インスタンス変数とは何か?

更新日:

この記事では、Rubyのインスタンス変数について説明します。

本記事の内容

  • インスタンス変数とは何か?
  • インスタンス変数の定義方法と使い方
  • 便利なattr_accessorの使い方
  • まとめ

インスタンス変数とは何か?

インスタンス変数とは、クラスの内部で最も使われる変数の一つです。
インスタンス変数とは同じインスタンス(同じオブジェクト)の内部で共有される変数です。
インスタンス変数の変数名は、必ず「@」で始めます。

また、インスタンス変数はインスタンス内で共通して使用することが出来ます。

インスタンス変数の定義方法と使い方

@で始まっている、@name、@height、@weightは全てインスタンス変数です。
displayメソッドを見て貰えればわかりますが、クラス内では、どこからでもインスタンス変数を参照することができます。
そして、catインスタンスとdogインスタンスの@name、@height、@weightは、別物で、それぞれが独立しています。

便利なattr_accessorの使い方

上のソースコードでは、「値をセットするメソッド」と「値を取得するメソッド」の両方が定義されています。
Rubyではattr_accessorを使えば、インスタンス変数の定義と同時に、それらのメソッドを簡単に定義することができます。
下記のコードを上記のコードと比較すると、コードが簡潔になっていることがわかります。

まとめ

この記事では、インスタンス変数とattr_accessorの使い方を紹介しました。
繰り返しにはなりますが、catインスタンスとdogインスタンスが保持する値は、それぞれが独立しているということを確認しておいて下さい。

Good luck for your engineer life!

この記事が面白かった人は、こちらの記事も読んでみて下さい。

-Ruby, プログラミング

Copyright© プログラミング道場 , 2019 All Rights Reserved Powered by AFFINGER4.