Ruby Private Methods

Ruby Private

Ruby的私有方法需要注意的地方

我们用一个例子来说明下

例如:

class A 
    private
        def test
            puts 'a'
        end
end

class B < A
    def b
        test
    end
end

很显然Ruby的私有方法可以被继承并被调用,只要不指明接受者,对象正确的调用方法有两种

  1. a = A.new, a.send(:test)
  2. b = B.new, b.b

同样的我们这边举一些错误的调用方式,这是大部分人偶尔都会犯的,例如:

class A
    self.test #wrong
    private
        def test
            puts 'a'
        end
end

在这里并不需要要指明接受者,self也不行!
  1. a = A.new.test
  2. a = B.new.test

推荐阅读更多精彩内容