alias_method和alias_method_chain有什么区别?

 多米音乐_34067977 发布于 2023-01-15 13:52

我正在处理我的Web应用程序,我想覆盖一个方法,例如,如果原始类是

class A
  def foo
    'original'
  end
end

我想覆盖foo方法,它可以这样做

class A
  alias_method :old_foo, :foo
  def foo
    old_foo + ' and another foo'
  end
end

我可以像这样调用新旧方法

obj = A.new
obj.foo  #=> 'original and another foo'
obj.old_foo #=> 'original'

那么如果我可以像我一样访问并保留两种方法,那么alias_method_chain的用途是什么?

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有