编写一个person类,包括人的姓名、性别、年龄、子女等属性,并封装有获得姓名、获得年龄、增加1岁、获得子女、设置子女等方法,其中子女为一个person数组。用某些实际数据测试该类的设计。
时间: 2023-10-20 10:08:35 浏览: 113
好的,以下是一个基本的 Person 类的实现:
```python
class Person:
def __init__(self, name, gender, age):
self.name = name
self.gender = gender
self.age = age
self.children = []
def get_name(self):
return self.name
def get_age(self):
return self.age
def add_age(self):
self.age += 1
def get_children(self):
return self.children
def set_children(self, children):
self.children = children
```
这个类包括了人的姓名、性别、年龄、子女等属性,并封装了获得姓名、获得年龄、增加1岁、获得子女、设置子女等方法。
我们可以使用如下代码进行测试:
```python
# 创建一些 Person 实例
p1 = Person("张三", "男", 30)
p2 = Person("李四", "女", 28)
p3 = Person("王五", "男", 5)
p4 = Person("赵六", "女", 2)
# 设置子女关系
p1.set_children([p3, p4])
p2.set_children([p3, p4])
# 打印信息
print("姓名:", p1.get_name(), ",年龄:", p1.get_age(), ",子女数:", len(p1.get_children()))
print("姓名:", p2.get_name(), ",年龄:", p2.get_age(), ",子女数:", len(p2.get_children()))
# 增加年龄
p1.add_age()
p2.add_age()
# 再次打印信息
print("姓名:", p1.get_name(), ",年龄:", p1.get_age(), ",子女数:", len(p1.get_children()))
print("姓名:", p2.get_name(), ",年龄:", p2.get_age(), ",子女数:", len(p2.get_children()))
```
输出结果如下:
```
姓名: 张三 ,年龄: 30 ,子女数: 2
姓名: 李四 ,年龄: 28 ,子女数: 2
姓名: 张三 ,年龄: 31 ,子女数: 2
姓名: 李四 ,年龄: 29 ,子女数: 2
```
可以看出,我们成功地创建了一些 Person 实例,并对其进行了基本的属性和方法操作。
阅读全文