Blueherb In solitude, where we are least alone

面向对象类的成员修饰符

#成员修饰符

#共有成员 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()
posted @ 2020-11-23 23:04  无敌-蹦蹦  阅读(65)  评论(0编辑  收藏  举报