class基础用法

class基础用法,第1张

概述创建一个类。 格式: 类 = class(类名, [父类]) 用法示例: -- 定义名为 Shape 的基础类local Shape = class("Shape") -- ctor() 是类的构造函数,在调用 Shape.new() 创建 Shape 对象实例时会自动执行function Shape:ctor(shapeName) self.shapeName = sh

创建一个类。

格式:

= class(类名, [父类])

用法示例:

-- 定义名为 Shape 的基础类local Shape = class("Shape")-- ctor() 是类的构造函数,在调用 Shape.new() 创建 Shape 对象实例时会自动执行function Shape:ctor(shapename)    self.shapename = shapename    printf("Shape:ctor(%s)", self.shapename)end-- 为 Shape 定义个名为 draw() 的方法function Shape:draw()    printf("draw %s", self.shapename)end---- Circle 是 Shape 的继承类local Circle = class("Circle", Shape)function Circle:ctor()    -- 如果继承类覆盖了 ctor() 构造函数,那么必须手动调用父类构造函数    -- 类名.super 可以访问指定类的父类    Circle.super.ctor(self, "circle")    self.radius = 100endfunction Circle:seTradius(radius)    self.radius = radiusend-- 覆盖父类的同名方法function Circle:draw()    printf("draw %s,raIDus = %0.2f", self.shapename, self.raIDus)end--local Rectangle = class("Rectangle", Shape)function Rectangle:ctor()    Rectangle.super.ctor(self, "rectangle")end--local circle = Circle.new()             -- 输出: Shape:ctor(circle)circle:setRaIDus(200)circle:draw()                           -- 输出: draw circle,radius = 200.00local rectangle = Rectangle.new()       -- 输出: Shape:ctor(rectangle)rectangle:draw()                        -- 输出: draw rectangle
总结

以上是内存溢出为你收集整理的class基础用法全部内容,希望文章能够帮你解决class基础用法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1007215.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存