创建子类Student继承Person父类,新增className成员变量,变量的封装setter和getter,定义printStudent方法打印学生信息
时间: 2024-02-15 14:02:59 浏览: 75
好的,这是一个关于面向对象编程的问题,下面是代码实现:
```python
class Student(Person):
def __init__(self, name, age, className):
super().__init__(name, age)
self.__className = className
def set_className(self, className):
self.__className = className
def get_className(self):
return self.__className
def printStudent(self):
print("Name:", self.get_name())
print("Age:", self.get_age())
print("Class Name:", self.__className)
```
这里我们定义了一个 `Student` 类,继承了 `Person` 类。同时,我们新增了一个私有成员变量 `__className`,以及对它的封装方法。
我们还定义了一个 `printStudent` 方法,用于打印学生的姓名、年龄和班级信息。在这个方法中,我们通过 `get_name` 和 `get_age` 方法获取父类的 `name` 和 `age` 成员变量的值,然后再打印出班级信息。
相关问题
(1)创建父类Person类,包括name,age成员变量;setter和getter方法;定义printPerson打印人的信息 (2)创建子类Student继承Person父类,新增className成员变量,变量的封装setter和getter,定义printStudent方法
好的,我来为你解答这个问题:
```python
# 定义父类 Person
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
# 封装成员变量的 setter 和 getter 方法
def set_name(self, name):
self.name = name
def get_name(self):
return self.name
def set_age(self, age):
self.age = age
def get_age(self):
return self.age
# 打印人的信息
def printPerson(self):
print(f"Name: {self.name}, Age: {self.age}")
# 定义子类 Student 继承父类 Person
class Student(Person):
def __init__(self, name, age, className):
# 调用父类构造函数
super().__init__(name, age)
self.className = className
# 封装成员变量 className 的 setter 和 getter 方法
def set_className(self, className):
self.className = className
def get_className(self):
return self.className
# 打印学生的信息
def printStudent(self):
print(f"Name: {self.name}, Age: {self.age}, Class: {self.className}")
```
这样,我们就定义了一个父类 Person 和一个子类 Student,其中子类 Student 继承了父类 Person 的属性和方法,并新增了一个 className 成员变量和 printStudent 方法。你可以在子类 Student 的实例中使用 set_className 和 get_className 方法来设置和获取 className 的值,使用 printStudent 方法来打印学生的信息。
注意,这里使用了 super() 函数来调用父类的构造函数,以便初始化父类的成员变量 name 和 age。
(1) 创建父类Person类,包括name,age成员变量;setter和getter方法;定义printPerson打印人的信息 (2) 创建子类Student继承Person父类,新增className成员变量,变量的封装setter和getter,定义printStudent方法打印学生信息 (3) 在子类中实现对父类的printPerson()的重写 (4) 创建Person和Student对象,Person对象调用printPerson()方法,Student对象调用printPerson()方法和printStudent()方法
好的,这是一个关于面向对象编程的问题,下面是代码实现:
```python
class Person:
def __init__(self, name, age):
self.__name = name
self.__age = age
def set_name(self, name):
self.__name = name
def set_age(self, age):
self.__age = age
def get_name(self):
return self.__name
def get_age(self):
return self.__age
def printPerson(self):
print("Name:", self.__name)
print("Age:", self.__age)
class Student(Person):
def __init__(self, name, age, className):
super().__init__(name, age)
self.__className = className
def set_className(self, className):
self.__className = className
def get_className(self):
return self.__className
def printStudent(self):
super().printPerson()
print("Class Name:", self.__className)
def printPerson(self):
print("Student's Information:")
self.printStudent()
person = Person("John", 25)
person.printPerson()
student = Student("Alice", 19, "Mathematics")
student.printPerson()
student.printStudent()
```
输出结果为:
```
Name: John
Age: 25
Student's Information:
Name: Alice
Age: 19
Class Name: Mathematics
```
阅读全文