设计一个人类Person,其内部有一个name属性,一个call()方法,输出姓名。 再设计一个学生类Student,继承自Person类,学生类有一个自己的属性stu_number学号。重写__init__方法和call方法,输出学号和姓名。
时间: 2024-03-22 21:41:40 浏览: 32
好的,可以的。下面是Python代码实现:
```python
class Person:
def __init__(self, name):
self.name = name
def call(self):
print("My name is", self.name)
class Student(Person):
def __init__(self, name, stu_number):
super().__init__(name)
self.stu_number = stu_number
def call(self):
print("My name is", self.name, "and my student number is", self.stu_number)
# 示例代码
person = Person("张三")
person.call() # 输出 My name is 张三
student = Student("李四", "20210001")
student.call() # 输出 My name is 李四 and my student number is 20210001
```
这里我们定义了一个 `Person` 类,其中包含一个 `name` 属性和一个 `call()` 方法,用于输出姓名。接着我们定义了一个 `Student` 类,继承自 `Person` 类,新增了一个 `stu_number` 属性,重写了 `__init__` 方法和 `call` 方法,用于输出学号和姓名。在示例代码中,我们创建了一个 `Person` 实例和一个 `Student` 实例,并分别调用了它们的 `call` 方法,输出了对应的信息。