day25
成员修饰符
class Foo:
def __init__(self, name, age):
self.name = name
self.__age = age#私有,外部无法直接访问 def show(self):
return self.__age
obj = Foo('alex', )
print(obj.name) #print(obj.__age) ret = obj.show()
print(ret)#间接访问
__age为私有成员,不能直接访问。
执行结果:
alex Process finished with exit code
私有方法
class Foo:
def __f1(self):
return 123 def f2(self):
r = self.__f1()
return r
obj = Foo()
ret = obj.f2()#间接访问
print(ret)
私有方法间接访问。
执行结果:
123 Process finished with exit code 0
私有成员不被继承
class F:
def __init__(self):
self.ge = 123
self.__gene = 123 class S(F):
def __init__(self,name):
self.name = name
self.__age = 18
super(S, self).__init__() def show(self):
print(self.name)#alex
print(self.__age)#
print(self.ge)#父类中的公有成员
#print(self.__gene)#父类中的私有成员,不能被继承 s = S('alex')
s.show()
第16行,父类中的私有成员,不能被继承。
执行结果:
alex
18
123 Process finished with exit code 0