python 高级篇-面向对象-6 子类访问父类的私有属性
程序员文章站
2024-03-17 18:32:34
...
1.子类对象 不能在自己的方法内部、直接访问父类的私有属性或私有方法
2.子类对象 可以通过父类的共有方法 间接 访问到私有属性或私有方法。
父类:
# -*- coding: utf-8 -*-
# @File : Fu.py
# @Date : 2019-11-20 14:53
# @Author : admin
class Fu:
__name="父类";#父类的私有属性
def sayHello(self):
self.__name="fulei";
print("我是父亲,你好",self.__name);
def test(self):
#print("私有属性:")
print("私有属性:",self.__name)
子类:
# -*- coding: utf-8 -*-
# @File : Zi.py
# @Date : 2019-11-20 14:56
# @Author : admin
from Fu import Fu;
class Zi(Fu):
def sayHello(self):
super();
self.__age=23;
self.num=34;
print("我是儿子,你好!","age:",self.__age,"num:",self.num)
super().sayHello();
print("访问父类的私有属性:"+self.__name);#
r = Zi();
r.sayHello();
结果:
通过父类的共有方法访问父类 的私有方法
# -*- coding: utf-8 -*-
# @File : Zi.py
# @Date : 2019-11-20 14:56
# @Author : admin
from Fu import Fu;
class Zi(Fu):
def sayHello(self):
super();
self.__age=23;
self.num=34;
print("我是儿子,你好!","age:",self.__age,"num:",self.num)
super().sayHello();
#print("访问父类的私有属性:"+self.__name);#
super().test();#访问父类的公共方法间接访问私有属性
r = Zi();
r.sayHello();
#
结果:
上一篇: Java编程思想-11持有对象