class Person
def name
puts "Dave"
end
end
puts Person.object_id
访问方法只有两种方式:
1) Someclass.method 如果是类方法。 #其中 Someclass 是一个类。
2) 和 Object.method(当被访问的方法是在类内部声明的常规方法时)。 Object 是类的实例。
它遵循 Object.method 模式,那么这是否意味着 Person 类确实是一个对象?
或者object_id是一个类方法?后者似乎不太可能,因为类方法不能继承到实例中。但是当我们做这样的事情时:
a = Person.new
a.methods.include?("object_id") # this produces true
a 是 Person 类的实例,因此 object_id 不能是类方法。
最佳答案
是的,Ruby 类是对象:
>> String.is_a? Object
=> true
>> String.methods.count
=> 131
>> Fixnum.methods.count
=> 128
关于ruby - 类声明是 ruby 中的洗眼剂吗?一切真的都是面向对象的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7250523/