红宝石对象模型的好解释 – 主要是“类是对象”?

前端之家收集整理的这篇文章主要介绍了红宝石对象模型的好解释 – 主要是“类是对象”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在研究红宝石对象模型,并有一些问题.我理解一个对象只存储实例变量的想法,方法存储在类中,一个对象有一个引用.我也了解“自我”的想法 – 它是什么,它如何变化等等.

但是,我不明白的是“课堂是对象”的概念.有什么好的,直观的解释吗?

(BTW:我使用Ruby Object Model and MetaprogrammingMetaprogramming Ruby作为我的两个资源,如果有人可以提出其他建议,那将是有帮助的.)

谢谢.

解决方法

这意味着它的意思是什么 – 类是对象.具体来说,它们是类Class的实例,它本身是类Module的子类,它又是Object的子类,就像Ruby中的所有其他类一样.像Ruby中的任何其他对象一样,类可以响应消息,拥有自己的实例变量等.

作为一个实际的例子,让我们私下.

class Person
  attr_accessor :name,:height
  private
  attr_accessor :weight
end

这提供了Person公共方法的实例来访问该人的名字和身高,但是该人的权重的访问者是私有的. BUTBUTBUT – 而不是像大多数语言一样是关键字,private是Module类的普通方法.如果我们想要,我们可以重新定义它来为特定的类层次结构做不同的事情.

class RichardStallman
  def self.private(*args)
    puts "NO! INFORMATION WAS MEANT TO BE FREE!"
  end
end

猜你在找的Ruby相关文章