一种不用元表的简单对象实现

function createRobot(name, id)
local obj = { name = name, id = id }
function obj:SetName(name)
self.name = name
end
function obj:GetName()
return self.name
end
function obj:GetId()
return self.id
end
return obj
end
function createFootballRobot(name,
id, position)
local obj = createRobot(name, id)
obj.position = "right back"
function obj:SetPosition(p)
self.position = p
end
function obj:GetPosition()
return self.position
end
return obj
end

时间: 2024-10-13 15:57:38

一种不用元表的简单对象实现的相关文章

一种不用参数交换两变量值的方法

除了最简单的三变量法外 还有一种不用参数的交换法 #include <stdio.h> int main(){ int a,b; scanf("%d%d",&a,&b); a=a+b; b=a-b; a=a-b; printf("%d %d\n",a,b); return 0;} 这种方法范围窄,只有定义了加减法的数据类型才可以使用 但只是输出交换变量 所以最简单的方法是 scanf("%d%d",&a,&am

Ajax:一种不用刷新整个页面便可与服务器通讯的办法

Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术. Ajax = 异步 JavaScript 和 XML 或者是 HTML(标准通用标记语言的子集). Ajax 是一种用于创建快速动态网页的技术. Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对

一种不用递归解决数独问题的思路

过年放假在家,偶然看到老妈在玩数独(Sudoku),想着这完全可以写个程序解决数独问题呀,上网搜了一下大家的思路,发现代码最简单的还是递归算法,不过感觉递归算法有些无脑,运算量又大,想着自己能不能模拟一下人玩数独的思路,让计算机以相对聪明一点点的方式去计算数独的结果呢? 基本思路:对每一行,每一列和每一小九宫格作为一个单元进行分析,共有9*3=27个单元.对于这每一个单元来说,写一个函数need_what来计算一下1-9中还有哪几个数字没有用到,并找出没有填数字的位置坐标.对于每一个没有填数字的

程序只启动一个实例的几种方法

我们在使用<金山词霸>时发现,在<金山词霸>已经运行了的情况下,再次点击<金山词霸>的图标,那么它不会再运行另外一个<金山词霸>,而是将已有的<金山词霸>给激活,始终只能运行一个<金山词霸>的实例. 在我们的程序当中如果要实现类似<金山词霸>的功能,就要解决两个问题,首先是要判断该程序已有一个实例在运行,其次是要将已运行的应用程序实例激活,同时退出第二个应用程序实例.  对于第一个问题,我们可以通过设置命名互斥对象或命名信

不用中间变量交换A和B的值

public class SwapAB { public static void main(String[] args) { // 两种值交换的方式,用中间变量空间复杂度高于不用中间变量,但时间复杂度要低于不用中间变量. // 常规写两个值的交换 int a = 100; int b = 200; System.out.println("初始值 a=100 b=200"); // 中间变量 int c; // 复制给中间变量,临时存 c = a; // 把b的值赋给a. a = b;

Autofac 设置方法拦截器的两种方式

前提 1.Nuget安装Autofac 4.0以下版本  4.0及4.0 以上版本暂时没找到合适的方案 2.Nuget安装Autofac.Extras.DynamicProxy2 3.创建一个类似下面代码得 拦截类 public class TestInterceptor : IInterceptor { public void Intercept(IInvocation invocation) { string c = string.Format("Calling method {0} wit

c#无边窗体实现移动的两种方式

转载:http://blog.csdn.net/dxsh126/article/details/2940226 首先,要用到一个WimdowsAPI函数,因此必须引入 using System.Runtime.InteropServices; 命名空间; 然后,这里有两种方法,一种使用API, 一种不用,重写WndProc窗口过程的方式不需要API函数.另一个方法需要两个: SendMessage 像指定窗口过程发送消息 ReleaseCapture 释放鼠标捕获 最后是一些必要的常数声明,这些

Speed-BI 多事实表与表间计算的应用:销售目标达成分析 另一种实现方法

在前一篇<Speed-BI多事实表与表间计算的应用(excel多Sheet关联分析):销售目标达成分析>http://www.powerbibbs.com/forum. ... 7583&extra=page%3D1 里我们说到当有一个明细的“门店销售”的明细数据(图1), <ignore_js_op> 同时也有了各个月份各个“区域销售目标”数据(图2), <ignore_js_op> 我们需要按年.月.区域分析销售目标的达成情况,可以把”门店销售"与

不用中间变量交换a 和b的值

// 不用中间变量的写法 ,假如 a=13, b=8; a=a+b =21; //此时 a=21; b=8; b=a-b=13; //此时a=21; b=13; a=a-b=8; //相当于 a=21-13=8; // 第二种不用中间变量,换运算,效率比加法高点 a = a ^ b; b = a ^ b; a = a ^ b;