加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 19:44:39 所属栏目:百科 来源:网络整理
导读:我正在研究红宝石对象模型,并有一些问题.我理解一个对象只存储实例变量的想法,方法存储在类中,一个对象有一个引用.我也了解“自我”的想法 – 它是什么,它如何变化等等. 但是,我不明白的是“课堂是对象”的概念.有什么好的,直观的解释吗? (BTW:我使用Ruby
我正在研究红宝石对象模型,并有一些问题.我理解一个对象只存储实例变量的想法,方法存储在类中,一个对象有一个引用.我也了解“自我”的想法 – 它是什么,它如何变化等等.

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

(BTW:我使用Ruby Object Model and Metaprogramming和Metaprogramming 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读