加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby中的“个人”方法

发布时间:2020-12-17 03:09:07 所属栏目:百科 来源:网络整理
导读:我正在寻找一种使方法“个人化”的方法 – 注意不要私有给一个班级 这是一个例子 – 通过“个人”我的意思是方法“foo”的行为 class A def foo "foo" endendclass B A def foo "bar" endendclass C Benda=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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读