(1)访问控制权限:
1.公有实例方法可以通过实例直接访问
2.私有和被保护的实例方法可以通过公有的实例方法间接访问,不能直接访问
3.在没有注明实例方法是public或private或protected时,默认为public
(2)类方法,类常量:
1.类常量不能直接访问,不能被实例方法直接访问,可以被类方法访问
2.类方法可以被实例方法调用,调用格式:类名.类方法
(3)类实例方法
所有的类都是class类的实例
attr_writer:实例属性-------实例属性的getter方法
attr_reader:实例属性-------实例属性的setter方法
attr_accessor:实例属性-----实例属性的getter,setter方法
(4)define_method
自定义setup——accesor方法,作用和attr_accessor相同(理解)
def self.setup_accessor var
define_method var do
instance_variable_get "@#{var}" -----------***
end
define_method "#{var}=" do |value|
instance_variable_set "@#{var}", value -----------***
end
end
setup_accessor :name
setup_accessor :age