运维开发网

ruby中的“个人”方法

运维开发网 https://www.qedev.com 2020-05-15 15:10 出处:网络 作者:运维开发网整理
我正在寻找一种使方法“个人化”的方法 – 注意不要私有给一个班级 这是一个例子 – 通过“个人”我的意思是方法“foo”的行为 class A def foo "foo" end end class B < A def foo "bar" end end class C < B end a=A.new; b=B.new;c=C.new 我正在寻找一种产生
我正在寻找一种使方法“个人化”的方法 – 注意不要私有给一个班级

这是一个例子 – 通过“个人”我的意思是方法“foo”的行为

class A
  def foo
     "foo"
  end
end

class B < A
  def foo
      "bar"
  end
end

class C < B
end

a=A.new; b=B.new;c=C.new

我正在寻找一种产生以下行为的方法

a.foo #=> "foo"

b.foo #=> "bar"

c.foo #=> "foo" (ultimate base class method called)
不要创建“个人”方法,而是更改继承结构.

看来您希望C类只具有B类的一些相同功能,而不会更改A类.

class A
  def foo
     "foo"
  end
end

class BnC < A
end

class B < BnC
  def foo
      "bar"
  end
end

class C < BnC
end

a=A.new; b=B.new;c=C.new
0

精彩评论

暂无评论...
验证码 换一张
取 消