美文网首页
Lua 方法重载

Lua 方法重载

作者: SuperTang | 来源:发表于2019-04-18 10:38 被阅读0次

作者个人网站:http://www.harddone.com

最近在更新一个Lua项目中,很多地方调用了同一个方法,想在不改动调用逻辑的情况下,如何不执行原来的方法逻辑,而执行新的方法逻辑呢?
我们可以直接重载该方法,但是前提是必须在第一次调用该方法前就完成了重载。

请注意这种方式的前提:一定是要在该方法第一次被调用前完成你的重载,否则无效。

举例说明: ads_plugin_manager是一个全局对象,在其类文件中已经实现了方法showBanner的逻辑,项目中许多直接调用ads_plugin_manager:showBanner()。现在我想不改动任何调用该方法地方的代码。怎么操作?

  • 创建lua文件:OverrideAdsPluginManager.lua
ads_lua_manager.showBanner = function(...)
--override start
-- 请注意,如果方法实现需要访问类的其他方法或者变量,都可以通过ads_lua_manager.xxx的方式直接调用
-- override end
end
  • 尽早引用OverrideAdsPluginManager.lua
require "libii/common/OverrideShowBanner"

相关文章

  • Lua 方法重载

    作者个人网站:http://www.harddone.com 最近在更新一个Lua项目中,很多地方调用了同一个方法...

  • lua-openresty (3)

    元表(类似操作符重载) OpenResty 最佳实践 Lua 提供的所有操作符都可以被重载: 元方法 含义"__a...

  • 2018-08-02

    lua实现继承,重载和多态(上) *讲到lua的继承等面向对象的实现,首先得讲一下lua中的几个元方法和元表. s...

  • 2018-08-06

    lua实现继承,重载和多态(下) 上一篇讲了,lua的几个元方法和元表, 这里我们直接手动实现一个类方法, 可以创...

  • C#多态的表现-方法重载,方法重写以及密封类的特点

    方法重载 方法重载:构造函数就属于特殊的方法重载 方法重载:是指同一个类中相同方法的不同行为 方法重载的特点: 1...

  • OOP多态和密封类

    学习oop多态 1.方法重载 2.方法重写 3.里氏替换原则 方法重载:构造函数属于特殊的方法重载 方法重载是指同...

  • 方法的定义与使用(方法重载)

    方法重载 方法重载指的是方法名称相同,参数的类型或个数不同。范例:实现方法重载 范例:观察如下程序

  • 方法重载与方法重写(@Overload @Override)

    java方法重载和方法重写(方法覆盖)的区别: 方法重载: Overload 方法重写: Override 批判,...

  • lua脚本

    lua脚本 执行方法下载lua 打开cmd 或者命令界面 执行lua使用lua 文件

  • 方法重载

    方法重载 21. 辨别方法重载 在调用重载方法时,编译器会根据方法的参数个数、参数类型和方法属性(const 方法...

网友评论

      本文标题:Lua 方法重载

      本文链接:https://www.haomeiwen.com/subject/kuaawqtx.html