现在需要5个学生对象,其年级、专业、学院、学校、校区等公共信息都相同,区别在于性别、姓名和年龄,为了简化创建过程,可以通过原型模式来实现相似对象的复制,再对不同对象属性进行修改。
时间: 2023-05-14 08:05:03 浏览: 125
好的,您可以使用原型模式来创建这5个学生对象。首先,您需要创建一个原型对象,包含所有公共信息和默认值。然后,您可以通过复制该原型对象来创建新的学生对象,并对不同对象属性进行修改。以下是一个示例代码:
```python
class Student:
def __init__(self, name, age, gender, grade='大一', major='计算机科学与技术', college='计算机学院', school='某某大学', campus='某某校区'):
self.name = name
self.age = age
self.gender = gender
self.grade = grade
self.major = major
self.college = college
self.school = school
self.campus = campus
def clone(self, **attrs):
obj = self.__class__(self.name, self.age, self.gender, self.grade, self.major, self.college, self.school, self.campus)
obj.__dict__.update(attrs)
return obj
# 创建原型对象
prototype = Student(name='', age=0, gender='', grade='大一', major='计算机科学与技术', college='计算机学院', school='某某大学', campus='某某校区')
# 创建5个学生对象
student1 = prototype.clone(name='张三', age=18, gender='男')
student2 = prototype.clone(name='李四', age=19, gender='女')
student3 = prototype.clone(name='王五', age=20, gender='男')
student4 = prototype.clone(name='赵六', age=21, gender='女')
student5 = prototype.clone(name='钱七', age=22, gender='男')
```
这样,您就可以通过原型模式来创建相似的学生对象,并对不同对象属性进行修改。
阅读全文