设计一个Dog类,一个Test Dog类。完成类的封装。要求如下: Dog类中包含姓名产地area、姓名name、年龄age三个属性; 分别给这三个属性定义两个方法(设计对年龄进行判断),一个方法用于设置值setName(),一个方法用于获取值getName(); >定义say()方法,对Dog类做自我介绍; > 在测试类中创建两个Dog对象,通过setter()方法给姓名、性别和年龄赋值,输出say()方法。
时间: 2023-04-12 10:01:19 浏览: 110
好的,我可以回答这个编程类的问题。以下是Lua代码:
-- 定义Dog类
Dog = {
area = "",
name = "",
age = 0
}
-- 给属性定义setter和getter方法
function Dog:setName(name)
self.name = name
end
function Dog:getName()
return self.name
end
function Dog:setArea(area)
self.area = area
end
function Dog:getArea()
return self.area
end
function Dog:setAge(age)
if age < 0 then
print("年龄不能小于0")
else
self.age = age
end
end
function Dog:getAge()
return self.age
end
-- 定义say()方法
function Dog:say()
print("我是一只来自" .. self.area .. "的" .. self.name .. ",今年" .. self.age .. "岁了。")
end
-- 测试类
TestDog = {}
-- 创建两个Dog对象并输出say()方法
function TestDog:test()
local dog1 = Dog
dog1:setName("小黑")
dog1:setArea("北京")
dog1:setAge(3)
dog1:say()
local dog2 = Dog
dog2:setName("旺财")
dog2:setArea("上海")
dog2:setAge(5)
dog2:say()
end
-- 运行测试类
TestDog:test()
相关推荐
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)