项目设置
本课属于 Coddy Lua 学习旅程的“面向对象编程”单元。第 55 课,共 70 课。
挑战
简单让我们为 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 在线编译器