让Lua脚本过程优化为类


function MakeClass(_objTemplete)
    local class = _objTemplete()
    local function buildObj()
        local o = {}
        setmetatable(o,class)
        class.__index = class
        return o
    end
    return buildObj
end



function Strategy()
    local public = {}
    function public:onSetBornContext( _txt )
        self.txt = _txt
    end
    function public:create()
        local k = self.txt
    end
    return public
end
Strategy = MakeClass( Strategy )



function Game()
    local strategy1 = Strategy()
    strategy1:onSetBornContext("A")
    local strategy2 = Strategy()
    strategy2:onSetBornContext("B")
    strategy1:create()
    strategy2:create()
end
Game()