Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Class = {}
- function Class.__create(self,...)
- local a = {}
- local mt = {__index = self, __call = self.__create}
- setmetatable(a,mt)
- if a.__new then a:__new(...) end
- return a
- end
- function Class.__new(self,name) self.__classname = name end
- Class_mt = {__call=Class.__create}
- setmetatable(Class,Class_mt)
- Animal = Class("Animal")
- function Animal:__new(type) self.type = type end
- function Animal:talk() print(self.type, self.say) end
- function Animal:say(text) self.say = text end
- dog = Animal("dog")
- dog:say("ciao")
- dog:talk()
- cat = Animal("cat")
- cat:say("hi")
- cat:talk()
- print(dog.__classname,cat.__classname)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement