编程题,请按照以下要求设计一个学生类Student,并进行测试。 要求如下: 1)Student类中包含姓名、成绩两个属性 2)分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值. 3)Student类中定义一个无参的构造方法和一个接收两个参数的构造方法,两个参数分别为姓名和成绩属性赋值 4)在测试类中创建两个Student对象,一个使用无参的构造方法,然后调用方法给姓名和成绩赋值,一个使用有参的构造方法,在构造方法中给姓名和成绩赋值
时间: 2023-05-13 14:06:55 浏览: 90
回答:
好的,以下是我对于你的问题的回答:
```lua
-- 定义学生类
local Student = {}
Student.__index = Student
-- 构造函数
function Student:new(name, score)
local obj = {}
setmetatable(obj, Student)
obj.name = name
obj.score = score
return obj
end
-- 获取姓名
function Student:getName()
return self.name
end
-- 设置姓名
function Student:setName(name)
self.name = name
end
-- 获取成绩
function Student:getScore()
return self.score
end
-- 设置成绩
function Student:setScore(score)
self.score = score
end
-- 无参构造函数
function Student:create()
local obj = {}
setmetatable(obj, Student)
obj.name = ""
obj.score = 0
return obj
end
-- 创建两个学生对象
local student1 = Student:create()
student1:setName("张三")
student1:setScore(90)
local student2 = Student:new("李四", 80)
-- 输出结果
print(student1:getName(), student1:getScore())
print(student2:getName(), student2:getScore())
```
希望这个回答能够帮助你解决问题。
阅读全文