クラス・・・車の設計図(車種ごとにクラスがあると考える)
インスタンス・・・設計図から作ることができる具体的な1台1台の車(Aさんが●月に✖️で買った車など)
(ご指摘していただいたが、他に例えて考えるのはあまり良くないことらしい)
クラス → インスタンス を作成する。
class Car
def hello
puts "hello"
end
end
これがクラス。
そっから、
インスタンスを作成する
car = Car.new #←〇〇.newでインスタンスを作れる。これを変数に代入。
car.hello←変数.メソッド名にすることで、呼び出せる。
newが使われた時、
def initialize←#initializeという名前のメソッドは、newが使われた時に呼ばれる特殊なメソッド。
end
initializeメソッドを呼ぶことができる。
class Car
def initialize(name)
@name = name
end
def hello
puts "hello"
end
end
car = Car.new('Kitt') #←〇〇.newでインスタンスを作れる
car.hello
⑴newに引数を渡す
⑵initializeメソッドが呼ばれる
⑶変数nameに引数が渡される
⑷initializeメソッドの中で使用することができる
@name← インスタンス変数
インスタンス変数はインスタンス内であれば、どこでも使うことができる。
class Car
def initialize(name)
@name = name
end
def hello
puts "Hello! I am #{@name}."
end
end
car = Car.new('Kitt')
car.hello
これを実行すると、
Hello! I am Kitt.
が出力される。