class Person: def __init__(self, name, gender, age): self.name = name self.gender = gender self.age = age def show(self, end='\n'): print(self.name, self.gender, self.age, end=end) class Student(Person): def __init__(self, name, gender, age, major, dept): Person.__init__(self, name, gender, age) self.major = major self.dept = dept def show(self): Person.show(self, '') print(self.major, self.dept) s = Student("james", "male", 20, "software", "computer") s.show()代码解释
时间: 2023-12-08 22:06:45 浏览: 117
这段代码定义了两个类:Person 和 Student。Person 类有三个属性:name(姓名)、gender(性别)和age(年龄),还有一个 show 方法,用于显示这些属性。Student 类继承了 Person 类,并新增了两个属性:major(专业)和dept(系别),并且重写了 show 方法以显示这些新属性。最后,创建了一个 Student 对象 s,调用了它的 show 方法。
具体代码解释如下:
```
class Person:
def __init__(self, name, gender, age):
self.name = name
self.gender = gender
self.age = age
def show(self, end='\n'):
print(self.name, self.gender, self.age, end=end)
```
这是 Person 类的定义,包括一个构造函数 __init__ 和一个 show 方法。构造函数接收三个参数:name、gender 和 age,并将它们存储在对象的属性中。show 方法用于显示这些属性,可以通过 end 参数指定输出的结尾字符,默认为换行符。
```
class Student(Person):
def __init__(self, name, gender, age, major, dept):
Person.__init__(self, name, gender, age)
self.major = major
self.dept = dept
def show(self):
Person.show(self, '')
print(self.major, self.dept)
```
这是 Student 类的定义,它继承了 Person 类并添加了两个属性:major 和 dept。构造函数调用了父类的构造函数,以便将 name、gender 和 age 参数传递给父类并进行初始化。show 方法重写了父类的方法,首先调用了父类的 show 方法来输出 name、gender 和 age,然后输出 major 和 dept。
```
s = Student("james", "male", 20, "software", "computer")
s.show()
```
这是创建 Student 对象的代码。使用构造函数传递五个参数来初始化对象 s,然后调用 s 的 show 方法来显示这个学生的信息。输出结果为:
```
james male 20 software computer
```
阅读全文