quickcocoslua中继承的父类接口调用
来源:互联网 发布:数据库管理办法 编辑:程序博客网 时间:2024/04/29 16:43
在上一篇中讲了lua的继承,今天继续讲如何调用父类的接口
看以下代码
function base:ctor() print("---base.ctor---") self.m = 0 --成员变量endfunction base:getName( ) print("---base getName---") print("self.m = ", self.m) self:fun()endfunction base:fun() print("-- base fun--")endlocal deriv = class("deriv", base)function deriv:ctor() deriv.super.ctor(self)endfunction deriv:fun() print("-- deriv fun--")endfunction deriv:getName() self.super:getName() --注意此行 print("---deriv---")endfunction deriv:getMyName() print("---deriv getmyname---") --self.m = self.m + 1 print("self.m = ", self.m)endlocal obj = deriv.new()obj:getName()
以上的代码中getName里面会调用父类的getName,然而杯具的是:self.m为nil!
为什么呢?
注意:在deriv的ctor中,将self传入,实际上的所有成员变量都放在self(deriv)中了,基类中并没有self.m这个变量!因此会出现这个问题
正确的用法是
function deriv:getName() self.super.getName(self) --注意此行 print("---deriv---")end
要想知道.与:的区别,请参考这篇文章
0 0
- quickcocoslua中继承的父类接口调用
- Java中类的单继承,接口的多继承
- C# 类中继承接口的属性
- Java中类的继承与接口
- C#中通过类来继承两个接口,父类实例化接口中的方法,子类继承父类,调用方法
- C++类继承中函数的调用
- Java - Java子类继承父类并调用接口
- C#中接口的继承
- C++中继承和调用父类的构造函数方法,外加MFC常见dialog继承
- 笔记关于接口基类继承调用
- Java中接口实现类的多继承
- Java类中继承、接口实现的一些细节
- Python 在子类中调用父类方法详解(单继承、多层继承、多重继承)
- 类、接口继承以及接口的实现
- 类的继承和接口
- 类的继承和接口
- 类的继承与接口
- C#中接口多重继承的注意事项
- session.merge()
- solr之基础篇
- 2012年5月SAT香港真题解析
- 阿里巴巴(B2B)的服务框架探索
- inno 安装 检测进程
- quickcocoslua中继承的父类接口调用
- 欢迎使用CSDN-markdown编辑器
- sqoop 常用命令整理
- 获取已安装应用信息,判断是否为系统应用
- 数据库常见面试题(一)
- Mysql字符串截取函数SUBSTRING的用法说明
- C语言学习笔记:16_位运算
- sqoop常用命令
- redshift的约束策略