Menu
CoddyTech

项目设置

本课属于 Coddy Lua 学习旅程的“面向对象编程”单元。第 55 课,共 70 课。

challenge icon

挑战

简单

让我们为 Shape Manager 系统打好基础!这个项目会在接下来的几课中逐步扩展,所以我们先创建清晰的文件结构,并设置一个基础 Shape 类。

你将创建两个文件来组织代码:

  • Shape.lua:使用原型模式定义一个基础 Shape 类。每个形状都有一个 name 属性(例如 "Circle" 或 "Rectangle")。添加一个 :new(name) 构造函数,用于接收形状名称;再添加一个 :getName() 方法,用于返回这个名称。
  • main.lua:通过导入模块并创建一个形状实例,让你的 Shape 类运行起来。从输入中读取形状名称,创建一个名称为该值的 Shape,并打印调用 :getName() 的结果。

在接下来的课中,这个基础类将作为 Rectangle 和 Circle 等特定形状的父类。现在,先专注于正确设置类结构:__index 的设置、构造函数模式和 getter 方法。

输入:包含形状名称(字符串)的一行。

输出::getName() 返回的形状名称。

亲手试试

-- 加载 Shape 模块
local Shape = require('Shape')

-- 从输入中读取形状名称
local shapeName = io.read()

-- TODO:用给定的名称创建一个新的 Shape 实例

-- TODO:输出对你的形状调用 :getName() 的结果

面向对象编程中的所有课

自己练习: Lua 在线编译器