用.定义方法时object.func_name(arg1,arg2...),方法真正的函数签名形式为: object.func_name(arg1, arg2...)

用:定义方法时object:func_name(arg1,arg2...),方法真正的函数签名形式为: object:func_name(self, arg1, arg2...)

使用.调用方法时object.func_name(arg1,arg2...),真正调用方式为:object.func_name(arg1,arg2...)

使用:调用方法时object:func_name(arg1,arg2...),真正调用方式为:object:func_name(self, arg1,arg2...)

定义: object.func_name(arg1,arg2...)

调用: object.func_name(arg1,arg2...)

定义: object:func_name(arg1,arg2...)

调用: object.func_name(object, arg1,arg2...) 或 object:func_name(arg1,arg2...)

代码示例:

function inherit(base, derive)
derive = derive or {}
    if type(base) == "table" then
setmetatable(derive, base)
base.__index = base
derive._super = base
end
    return derive
end
local base = {x=1}
function base:print()
print("base class", self.y)
end
local derive = inherit(base,{y=2})
function derive:print()
print("derive class")
end
function derive:test()
self._super:print() -- base class nil
self._super.print(self) -- base class 2
self.print() -- derive class
end
derive:test()

lua方法点(.)调用和冒号(:)调用区别:的更多相关文章

  1. Lua中调用函数使用点号和冒号的区别

    1.初学者最易混乱Top1——调用函数时用点号还是用冒号? 我们来看看下面的两句代码: mSprite.setPosition(, ); mSprite:setPosition(, ); 对于初次接触 ...

  2. 反射-优化及程序集等(用委托的方式调用需要反射调用的方法(或者属性、字段),而不去使用Invoke方法)

    反射-优化及程序集等(用委托的方式调用需要反射调用的方法(或者属性.字段),而不去使用Invoke方法)   创建Delegate (1).Delegate.CreateDelegate(Type, ...

  3. C++调用DLL有两种方法——静态调用和动态调用

    C++调用DLL有两种方法——静态调用和动态调用 标签: dllc++winapinullc 2011-09-09 09:49 11609人阅读 评论(0) 收藏 举报  分类: cpp(30)  [ ...

  4. OC之方法的声明实现和调用

    1. 类是来描述一群具有相同特征和行为的事物的. 类还有行为. 类的声明 @interface 类名 : NSObject { 属性. } 方法的声明 @end 类的实现. @implementati ...

  5. MacOS和iOS开发中异步调用与多线程的区别

    很多童鞋可能对Apple开发中的异步调用和多线程的区别不是太清楚,这里本猫将用一些简单的示例来展示一下它们到底直观上有神马不同. 首先异步调用可以在同一个线程中,也可以在多个不同的线程中.每个线程都有 ...

  6. lua调用java java调用lua[转载]

    转载:http://dualface.github.io/blog/2013/01/01/call-java-from-lua/LuaJavaBridge - Lua 与 Java 互操作的简单解决方 ...

  7. 转 - RPC调用和HTTP调用的区别

    很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive!本文简单 ...

  8. RPC调用和HTTP调用的区别

    很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive!本文简单 ...

  9. JS调用OC方法并传值,OC调用JS方法并传值////////////////////////zz

     iOS开发-基于原生JS与OC方法互相调用并传值(附HTML代码)     最近项目里面有有个商品活动界面,要与web端传值,将用户在网页点击的商品id 传给客户端,也就是js交互,其实再说明白一点 ...

随机推荐

  1. EL表达式读取数据(在Map,javaBean,List)

    <%@page import="cn.hncu.domain.User"%><!--这里是进行导包--><%@ page language=" ...

  2. 使用WebView显示网页

    简单的页面跳转 package com.example.webtest; import java.security.PublicKey; import android.support.v7.app.A ...

  3. Mysql+keeplived+lvs

    最近要做个高可用的mysql.用mysql主主复制方式保证两台数据库的数据一致.结合lvs和keepalived一起使用(keepalived+lvs的设置会再另外一篇文章里写). 搭好环境之后,本人 ...

  4. YII设置用户访问过滤

    设置用户访问过滤 1.哪个控制器设置访问过滤,就在哪个控制器中添加如下代码 class XxxController extends Controller { //当前控制器是否使用过滤功能 publi ...

  5. BS开发平台,一小时搞定功能强大的统计分析页面

    BS开发平台,一小时搞定功能强大的统计分析页面,拥有强大的功能和详细的权限控制. 1.组织数据,分析需求(实际耗时大约20分钟)  2.建立需要的业务数据表(大致10分钟)3. 运行代码工具,生产需要 ...

  6. 深入分析 Java 中的中文编码问题 (文章来自网络)

    许令波,developerWorks 中国网站最佳作者,现就职于淘宝网,是一名 Java 开发工程师.对大型互联网架构设计颇感兴趣,喜欢钻研开源框架的设计原理.有时间将学到的知识整理成文章,也喜欢记录 ...

  7. Jquery基础整理

    1.简单的JQuery (1)  $(document).ready(function(){ $(document).ready(mydays); alert(“加载完毕,请检查!”); functi ...

  8. 线程池读取List<T>实例

    private static readonly Object ThisLock = new object(); private static readonly AutoResetEvent AutoR ...

  9. js 无刷新分页代码

    /** * 分页事件处理 */function paging(){ $("#firstPage").click(function(){ //首页 var pageNo = getP ...

  10. 24种设计模式--责任链模式【Chain ofResponsibility Pattern】

    中国古代对妇女制定了“三从四德”的道德规范,“三从”是指“未嫁从父.既嫁从夫.夫死从子”,也就是说一个女性,在没有结婚的时候要听从于父亲,结了婚后听从于丈夫,丈夫死了还要听儿子的,举个例子来说,一个女 ...