- 要求:
定义一个父类:
包含三个对象变量,且其中一个对象变量使用 _命名
定义一个方法:命名使用 _命名
定义一个子类继承上边的父类:且定义一个和父类方法名相同的方法
实例化子类的对象
访问带_的对象变量
访问父类中的__xxx方法
访问子类中的__xxx方法
class Person:
def __init__(self):
self.name = None
self.age = 0
self._gender = "男"
def _f(self):
print("这是父类的私有方法")
def __print_info(self):
print("这是父类方法")
class Student(Person):
def __print_info(self):
print("这是子类方法")
pass
monster = Student()
print("调用私有属性:", monster._gender)
monster._Person__print_info()
monster._Student__print_info()
运行结果:
总结:
- 子类继承父类时,直接在子类后(父类)
- 私有属性的定义:用单下划线+属性——( _属性 ),私有属性或和方法可以直接调用
- 名称改写
- 遇到父类和子类中的方法同名时需要改写
- 要用双下划线开始——( __属性或方法)
- 调用时:( 对象 . _ 父类或子类 __属性或函数)