对于昨天的总结

by Mafeng at over 8 years ago, last updated at over 8 years ago
G

(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