编写一个person 类,有三个属性姓名,性别,年龄,并有一个introduc 方法,可以输出“我是张某某,男,16”,接着写一个person的子类student,加上属性班级,并重写introduc方法,可以输出“我是学生张某某,来自某某班,男,16”。
时间: 2024-05-03 19:18:04 浏览: 56
下面是代码实现:
```python
class Person:
def __init__(self, name, gender, age):
self.name = name
self.gender = gender
self.age = age
def introduce(self):
print("我是%s,%s,%d" % (self.name, self.gender, self.age))
class Student(Person):
def __init__(self, name, gender, age, class_name):
super().__init__(name, gender, age)
self.class_name = class_name
def introduce(self):
print("我是学生%s,来自%s班,%s,%d" % (self.name, self.class_name, self.gender, self.age))
```
我们首先定义了一个 `Person` 类,它有三个属性 `name`、`gender` 和 `age`,还有一个 `introduce` 方法,用于输出自我介绍的信息。
然后我们定义了一个 `Student` 类,它继承自 `Person` 类,增加了一个 `class_name` 属性,重写了 `introduce` 方法,输出更详细的信息,包括学生的班级。在 `__init__` 方法中,我们使用了 `super()` 函数来调用父类的构造方法,从而避免了代码重复。
接下来,我们可以创建一个 `Student` 对象,并调用它的 `introduce` 方法来输出自我介绍的信息:
```python
student = Student("张某某", "男", 16, "某某班")
student.introduce()
```
运行上述代码,输出结果如下:
```
我是学生张某某,来自某某班,男,16
```