回顾:汽车工厂
本课属于 Coddy Lua 学习旅程的“面向对象编程”单元。第 11 课,共 70 课。
挑战
简单让我们来构建一个完整的 Car 类,把你在本章学到的所有内容结合起来!你将创建一个汽车工厂系统,每辆车都有自己的型号和颜色,以此展示正确的模块组织方式和彼此独立的实例。
你将把代码分成两个文件:
Car.lua:按照标准的原型模式定义Car类。这个类需要一个:new(model, color)构造函数,用来创建各自拥有属性的汽车。还要包含一个:describe()方法,让每辆车都能介绍自己。main.lua:引入 Car 模块,并创建多个汽车实例,以展示每辆车都能保持自己的独立状态。
你的 :describe() 方法应该按照以下确切格式打印:
A [color] [model]你将收到 4 个输入:
- 第一辆车的型号
- 第一辆车的颜色
- 第二辆车的型号
- 第二辆车的颜色
在主文件中,使用提供的输入创建两辆车,并让它们各自在单独一行介绍自己。
例如,如果输入是 Sedan、blue、Truck 和 red,输出应该是:
A blue Sedan
A red Truck每辆车都应该保存自己的型号和颜色,以证明你的类创建的实例确实彼此独立。
亲手试试
-- 加载 Car 模块
local Car = require('Car')
-- 读取输入
local model1 = io.read()
local color1 = io.read()
local model2 = io.read()
local color2 = io.read()
-- TODO:使用 Car:new() 创建两个汽车实例
-- TODO:对每辆汽车调用 :describe(),打印其描述
面向对象编程中的所有课
自己练习: Lua 在线编译器