美文网首页
Lua创建一个类 继承

Lua创建一个类 继承

作者: 某人在 | 来源:发表于2018-05-22 15:08 被阅读27次

创建一个类

~~~ lua

-- 定义名为 Shape 的基础类 

[csharp] view plain copy

local Shape = class("Shape")  

-- ctor() 是类的构造函数,在调用 Shape.new() 创建 Shape 对象实例时会自动执行

[csharp] view plain copy

function Shape:ctor(shapeName)  

    self.shapeName = shapeName  

printf("Shape:ctor(%s)", self.shapeName)  

end  

-- 为 Shape 定义个名为 draw() 的方法

[csharp] view plain copy

function Shape:draw()  

printf("draw %s", self.shapeName)  

end  

-- Circle 是 Shape 的继承类

[csharp] view plain copy

local Circle = class("Circle", Shape)  

function Circle:ctor()  

    -- 如果继承类覆盖了 ctor() 构造函数,那么必须手动调用父类构造函数  

    -- 类名.super 可以访问指定类的父类  

Circle.super.ctor(self,"circle")  

    self.radius = 100  

end  

function Circle:setRadius(radius)  

    self.radius = radius  

end  

-- 覆盖父类的同名方法

[csharp] view plain copy

function Circle:draw()  

printf("draw %s, raidus = %0.2f", self.shapeName, self.raidus)  

end  

相关文章

  • Lua创建一个类 继承

    创建一个类 ~~~ lua -- 定义名为 Shape 的基础类 [csharp]view plaincopy l...

  • 线程创建得方式

    线程的创建有1.继承thread类继承Thread类创建线程的步骤为: (1)创建一个类继承Thread类,重写r...

  • Android辅助功能 AccessibilityService

    1.创建一个Android项目,创建一个服务类,继承AccessibilityService。 该服务类继承了3个...

  • 多线程创建的两种基本方法

    方法1 继承Thread() 继承Thread()类的多线程创建步骤 新建一个类继承 Thread() 类 重写 ...

  • 12.面向对象(object-oriented)

    创建CityClass类 然后创建子类,继承CityClass类继承类的特点:可以被继承,但要标记为开放类(可见性...

  • 线程的创建和使用⚠️

    线程的创建和使用 ⚠️ * 多线程的创建,方式一:继承于Thread类 * 1. 创建一个继承于Thread类的子...

  • 线程的创建和启动

    1. 继承thread类创建线程类 通过继承thread类来创建并启动多线程的步骤如下: 创建子类并继承Threa...

  • Python-类和对象

    关键词:类、实例、继承、重载创建类: 创建类实例对象: 属性操作: 类的继承: 继承类定义时,括号内填写父类名称继...

  • 详解Thread多线程

    如何创建线程 Java 中创建线程的方法有三种: 1. 继承 Thread 类创建线程 新建一个类继承 Threa...

  • 详解Thread多线程

    如何创建线程 Java 中创建线程的方法有三种:1. 继承 Thread 类创建线程 新建一个类继承 Thread...

网友评论

      本文标题:Lua创建一个类 继承

      本文链接:https://www.haomeiwen.com/subject/bznhjftx.html