定义一个person类的派生student类,增加了一个私有的数据成员成绩,覆盖的公有hello(),可以返回姓名、年龄、成绩信息
时间: 2024-06-10 09:10:10 浏览: 86
以下是Python的代码实现:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def hello(self):
print("Hello, I am {} and I am {} years old.".format(self.name, self.age))
class Student(Person):
def __init__(self, name, age, score):
super().__init__(name, age)
self.score = score
def hello(self):
print("Hello, I am {} and I am {} years old. My score is {}.".format(self.name, self.age, self.score))
```
在上述代码中,我们定义了一个基类`Person`和一个派生类`Student`。`Person`类有两个数据成员`name`和`age`,和一个`hello()`方法,用于输出个人信息。`Student`类继承了`Person`类,并增加了一个私有数据成员`score`,并覆盖了`hello()`方法,以输出学生的姓名、年龄和成绩信息。在`Student`类的构造函数中,我们使用`super()`来调用`Person`类的构造函数,以初始化`name`和`age`成员。
接下来,我们可以创建一个`Student`对象,并调用`hello()`方法输出学生的信息:
```python
s = Student("Tom", 18, 90)
s.hello() # 输出:Hello, I am Tom and I am 18 years old. My score is 90.
```
阅读全文