Rubyのクラスとオブジェクトの概要

728 ワード

puts "hello ruby"

ルビーは完全にオブジェクト向けの言語で、すべてがオブジェクトで、いわゆる基本的なタイプはありません.オブジェクトはクラスのインスタンスですが、クラス自体もオブジェクトです.したがって、クラスメソッドを追加する方法でインスタンスメソッドを追加したり、逆にインスタンスメソッドを追加する方法でクラスメソッドを追加したりすることができます.この柔軟性のため,Ruby自身が提供するクラスを含む任意のクラスにメソッドを追加することができる.
たとえば、Objectクラスはデフォルトのオブジェクトの親です.
クラスを定義します
class A 
end

それは
class A < Object
end

Objectにインスタンスメソッドを追加できます
class Object
  def hello
    puts "hello ruby objext"
  end
end

Aのインスタンスを作成
a = A.new
a.hello

クラスのインスタンスをもう1つ作成
b = Array.new
b.hello

Objectを継承しているため、helloメソッドがすべて表示されます.これはJAVAでは実現しにくい