#成员修饰符
#共有成员 name
#私有成员 __age
#静态方法和静态字段是可以不用创建对象直接进行调用或访问,节省内存,
# 所以可直接用类进行访问
class Foo():
#静态字段私有
__hobby = 'basketball'
def __init__(self,name,age):
self.name =name
self.__age = age#私有,外部直接访问
def show(self):
#return self.__hobby
return Foo.__hobby
def update(self,age):
self.__age = age
return self.__age
obj = Foo('john',23)
print(obj.name)
#print(obj.__age)出错
hobby = obj.show()
print(hobby)
age_john = obj.update(19)
print(age_john)
#共有方法
#私有方法
class Foo2():
def __f1(self):
return 123
def f2(self):
res = self.__f1()
return res
obj1 = Foo2()
#print(obj1.__f1())
print(obj1.f2())
#子类不能继承父类的私有成员
class F():
def __init__(self):
self.ge = 123456
self__gender = 'nv'
class S(F):
def __init__(self,name):
self.name = name
self.__age = 19
super(S, self).__init__()
def show(self):
print(self.name)
print(self.__age)
print(self.ge)
#print(self.__gender)
s =S('mary')
s.show()