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

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

Ruby之旅(五) 类的封装性class Greeter
Ruby之旅(五) 类的封装性  
def initialize
Ruby之旅(五) 类的封装性  end
Ruby之旅(五) 类的封装性    
Ruby之旅(五) 类的封装性  private
Ruby之旅(五) 类的封装性  
def sayhi()
Ruby之旅(五) 类的封装性    puts 
"hi"
Ruby之旅(五) 类的封装性  end
Ruby之旅(五) 类的封装性  
Ruby之旅(五) 类的封装性  
def saybye()
Ruby之旅(五) 类的封装性    puts 
"bye"
Ruby之旅(五) 类的封装性  end
Ruby之旅(五) 类的封装性  
Ruby之旅(五) 类的封装性  public
Ruby之旅(五) 类的封装性  
def say()
Ruby之旅(五) 类的封装性    sayhi
Ruby之旅(五) 类的封装性    saybye
Ruby之旅(五) 类的封装性  end
Ruby之旅(五) 类的封装性  
Ruby之旅(五) 类的封装性end
Ruby之旅(五) 类的封装性
Ruby之旅(五) 类的封装性
= Greeter.new
Ruby之旅(五) 类的封装性g.say 
# output hi bye
Ruby之旅(五) 类的封装性
g.sayhi # error because the sayhi isn't publics member

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

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2023-02-04
  • 2021-11-21
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-26
  • 2022-12-23
  • 2022-12-23
  • 2021-06-14
  • 2021-06-01
  • 2021-09-12
相关资源
相似解决方案