ruby系列教材(13):Attributes, Instance Variables, and Methods

上一篇 / 下一篇  2008-02-02 15:00:35 / 个人分类:Ruby

假如你是一个C++,Java语言的学习者,到这里你一定会惊讶,因为Attributes是一种method!至少笔者之前的观点,一直觉得Attributes应该是描述一种状态的变量,实际上Ruby里面不这么认为,至少《programming ruby》不这么认为:

Attributes是一个method,它是用于access external state ,什么是 external state?

一个class里面包含有很多instance variables,他们的集合表示着不同的states,有一些instance variables无法被外部访问,它们组成的集合,我们称之为 internal state,相反称之为external state(class state后面会提到,虽然也可以被外部访问,但是我们不认为它属于external state),Attributes为external state提供了访问的可能,也就是通过Attributes可以访问到那些让你访问的instance variables,正因为这种可访问的instance variables和Attributes的紧密联系,使得人们把他们混为一个概念。我们前面说道的virtual attributes,注意,不要以为ruby里面有虚变量,其实应该是虚方法,当然这里又和C++,JAVA不一样了。这些概念的混乱现象,各个语言的理解不同,给学习者带来了不便,希望读者能于我共同探讨这个问题


TAG: Ruby

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-11  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 22951
  • 日志数: 47
  • 建立时间: 2008-01-29
  • 更新时间: 2008-02-02

RSS订阅

Open Toolbar