现在的位置: 首页 > 综合 > 正文

Ruby之旅(五) 类的封装性

2012年12月05日 ⁄ 综合 ⁄ 共 480字 ⁄ 字号 评论关闭

Ruby的成员访问修饰关键字分为三种,与c#一样。
1 private 只能为该对象所调用的方法
2 protected 只能为该对象及其子对象所调用的方法
3 public 可以让任何对象所调用的方法

与c#不同的是,ruby的访问修饰符从定义处开始起作用,直到下一个访问修饰符出现时终止,比如

class Greeter
  
def initialize
  end
    
  private
  
def sayhi()
    puts 
"hi"
  end
  
  
def saybye()
    puts 
"bye"
  end
  
  public
  
def say()
    sayhi
    saybye
  end
  
end

= Greeter.new
g.say 
# output hi bye
g.sayhi # error because the sayhi isn't publics member

initialize默认就是private的 其他方法默认是public的 成员变量和类变量默认是private的 要用attr_reader或attr_accessor来增加读写控制

抱歉!评论已关闭.