zoukankan      html  css  js  c++  java
  • LUA 面向对象

    1  继承,用元表的__index来实现

    2  类实例,方法和具体数据绑定。可以设置一张表来共享所有方法

    3  objtable:func(...) 调用表的函数时,会把objtable赋值给self,这样函数体里面可以直接使用self访问表的数据

    4  例子

    classA = {}                  -- 元表

    classA.__index = classA  -- __index字段指向自己,这样就会查找元表里面的字段

    function classA:hello()

             print("classA:hello", self.x, self.y)

    end

    function classA:new(x, y) --创建实例,就是返回一个绑定了具体数据的普通table

             local tb = {}

             tb.x = x

             tb.y = y

             setmetatable(tb, classA) -- 设置元表,这样可以共享元表里面的函数

             return tb

    end

    obj = classA:new(100, 200)

    obj:hello() --冒号调用,这样self参数就是obj

    obj2 = classA:new(300, 400)

    obj2:hello()

  • 相关阅读:
    C#Redis分布式缓存
    CPU核心数
    关于RSA加密
    C#.NET中的CTS、CLS和CLR
    silverlight依赖属性
    silverlight imagesource赋值与转换
    #我的java之多态和接口#
    #什么是 spring boot#
    #替换eclipse自带的maven#
    #从零开始的maven异世界#
  • 原文地址:https://www.cnblogs.com/sysnap/p/6925226.html
Copyright © 2011-2022 走看看