#インスタンスとは
結論:クラス(設計図)から作られたオブジェクト(完成品)のこと
もう少し具体的に掘り下げていきます。
##そもそもクラスとは??
「クラス」と調べるとよく「設計図」に例えられています。
もう少し噛み砕くと、自分が行いたい処理を保管しておく箱のような存在です。
つまり、クラスという箱に処理を保管しておけば、いつでも簡単にその処理を呼び出すことができるのです。
クラスは下記のように定義できます。
class クラス名(一文字目は大文字)
end
そして、一般的にクラス内ではinitialize
というメソッドを定義し、初期化します。
def initialize()
初期化処理
end
では、実際にコードを書いてみます。下記に例を記載します。
今回はUserというクラスを作ってみましょう。
class User
def initialize(name)
@name = name
end
def introduction
p "私の名前は#{@name}です。"
end
end
user1 = User.new("mataro") #newでインスタンス化し、引数("mataro")を渡す。
user2 = User.new("taro") #newでインスタンス化し、引数("taro")を渡す。
user1.introduction #出力結果:”私の名前はmataroです”
user2.introduction #出力結果:”私の名前はtaroです”
このようにclass
で処理を定義し、new
でインスタンス化を行うことで、クラスから完成品(インスタンス)を生み出すことができるようになるのです。