摘要: 在Lua面向对象编程的基础设计当中,没有提供私密性机制。但是可以用其他方法实现,从而获得对象的访问控制。 这种实现不常用,作为兴趣爱好,只做基本了解。 基本做法是:通过两个table来表示一个对象。一个用来保存状态,一个用于操作(或称为接口)。 为了避免未授权的访问,表示状态的table不保存在其他 阅读全文
posted @ 2016-09-18 19:29 daiker 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 在Lua中进行面向对象编程时有几种方法,上一小结介绍了一种使用__index元方法的做法。 下面要介绍另一种方法,可以在Lua中实现多继承. 关键一点,在于用函数作为__index元字段。 多重继承意味着一个类可以有多个基类。因此无法使用一个类中的方法来创建子类,而是需要定义一个特殊的函数来创建。 阅读全文
posted @ 2016-09-18 18:55 daiker 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 类也是对象,所有它们也可以从其他类获得方法。这就是“继承”,可以在Lua中表示: 如果想从这个类中派生一个子类,以使客户能够透支。则先需要创建一个空的类,从基类继承所有的操作: SpecialAccount就是一个Account的实例。如下所示: SpecialAccount从Account继承了n 阅读全文
posted @ 2016-09-18 18:10 daiker 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 一个类就是一个创建对象的模具。对于一些基于原型的语言,对象是没有“类型”的,而是每个对象都有一个原型(prototype). 原型也是一种常规的对象。当其他对象(类的实例)遇到一个未知操作时,原型会先查找它。这种语言要创建一个类,只需要创建一个专用作其他对象的原型。 类和原型都是一种组织对象间共享行 阅读全文
posted @ 2016-09-18 17:34 daiker 阅读(125) 评论(0) 推荐(0) 编辑
摘要: Lua中的table就是一种对象。 1、table和对象一样拥有状态 2、和对象一样有一个独立的标识符(a self) 3、和对象一样,具有独立于创建者和创建地的生命周期。 对象有他们自己的操作,table同样也有: 有了上面的定义,可以这样调用: 这种函数就是所谓的“方法(Method)”,不过在 阅读全文
posted @ 2016-09-18 14:42 daiker 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 每次系统内存不足,卡的不行就恨不得马上换新手机,发现手机也没有什么大的毛病,也没有其他苛刻的要求。 换个新系统继续使用吧,除了屏幕小了一点,将就了吧。物尽其责,坚决抵制过度消费。 小米手机2s 16G 联通版,购买于2013-4-12。 一、所需资源和工具: 下载刷机工具: MiPhone20151 阅读全文
posted @ 2016-09-18 10:21 daiker 阅读(460) 评论(0) 推荐(0) 编辑