构建代码框架结构 构建抽奖人员信息的类结构; 新建一个Person类作为父类,存储一些基本属性和通用属性; 新建一个Student类,作为Person的子类,重写父类的部分方法,用于获取Student对象独有信息; 新建一个Teacher类,作为Person的子类,重写父类的部分方法,用于获取Teacher对象独有信息; 通过多态和工厂模式来构建耦合度低的代码框架结构;
时间: 2023-11-27 11:49:45 浏览: 64
下面是代码实现:
```python
class Person:
def __init__(self, name, age, sex):
self.name = name
self.age = age
self.sex = sex
def get_info(self):
return f"姓名:{self.name},年龄:{self.age},性别:{self.sex}"
def get_type(self):
return "普通"
class Student(Person):
def __init__(self, name, age, sex, school):
super().__init__(name, age, sex)
self.school = school
def get_info(self):
return f"姓名:{self.name},年龄:{self.age},性别:{self.sex},学校:{self.school}"
def get_type(self):
return "学生"
class Teacher(Person):
def __init__(self, name, age, sex, title):
super().__init__(name, age, sex)
self.title = title
def get_info(self):
return f"姓名:{self.name},年龄:{self.age},性别:{self.sex},职称:{self.title}"
def get_type(self):
return "教师"
class PersonFactory:
@staticmethod
def create_person(type, name, age, sex, extra_info):
if type == "学生":
return Student(name, age, sex, extra_info)
elif type == "教师":
return Teacher(name, age, sex, extra_info)
else:
return Person(name, age, sex)
```
这里我们定义了一个`Person`类作为基类,其中包含了一些基本属性和通用属性。然后我们定义了`Student`类和`Teacher`类作为子类,分别重写了`get_info`方法和`get_type`方法,用于获取不同类型对象的独有信息和类型。
最后我们定义了一个工厂类`PersonFactory`,用于根据传入的参数创建不同类型的对象。这里我们使用了多态和工厂模式来构建耦合度低的代码框架结构。
阅读全文