实现一个简单的功能,有一个Human基类,包含一个变量名字(_name)以及一个打印名字的方法(PrintName)。然后有一个Student子类,多一个变量分数(_grade),有一个获取分数的公共方法,每次获取分数后再调用一个重置分数的私有方法,并且重写了父类打印名字的方法。
class Human:
_name = ""
def __init__(self, _name):
self._name = _name
def PrintName(self):
print("PrintName")
class Student(Human):
_grade = 0
def __init__(self, _grade, _name):
self._grade = _grade
self._name = _name
def PrintName(self):
super().PrintName() #继承父类方法,如果不需要可以不写
print("学生名:" + self._name)
def PrintGrade(self):
print("成绩:" + str(self._grade))
self.__ResetGrade()
def __ResetGrade(self):
self._grade = 0
print("重置后成绩:" + str(self._grade))
april = Student(90, "April")
april.PrintName()
april.PrintGrade()
输出结果为:
PrintName
学生名:April
成绩:90
重置后成绩:0
注意:一个 ‘’ 的变量相当于protected,两个 ‘’ 的变量相当于private,什么都不加的表示public。