zoukankan      html  css  js  c++  java
  • 【Rollo的Python之路】Python 面向对象 (五) 成员修饰符

    Python 面向对象 (五) 成员修饰符

    1.0 面向对象成员:

    1.0.1 共同成员

    1.0.2 私有成员,__attr,就是私有成员,外部没法直接访问。

    class Foo:
        def __init__(self,name,age):
            self.name = name
            self.age = age
            self.__age= age
    
    
    obj = Foo()
    obj.name
    obj.age
    
    obj.__age  #在外部没法访问

    要想访问私有字段,就可以用其他方法,间接访问。

    class Foo:
        def __init__(self,name,age):
            self.name = name
            self.age = age
            self.__age= age
    
        def show(self):
            return self.__age
    
    
    obj = Foo('rollo',25)
    
    result = obj.show()
    print(result)

    静态字段,私有化

    class Roo:
        __country = 'China'
    
        def __init__(self):
            pass
    
        def show(self):
            return Roo.__country
    
    obj = Roo()
    print(obj.show())

    方法静态化访问:

    class Roo:
        __country = 'China'
    
        def __init__(self):
            pass
    
        def show(self):
            return Roo.__country
    
        @staticmethod
        def strat():
            return Roo.__country
    
    
    result = Roo.strat()
    print(result)

    2.0 方法的私有化:

    class Roo:
    
        def __f1(self):
            return 123
    
        def f2(self):
            result = self.__f1()
            return result
    
    
    obj = Roo()
    ret = obj.f2()
    print(ret)
    class Father:
        def __init__(self):
            self.__gender = "male"
            self.gender = "666"
    
    class Son(Father):
        def __init__(self,name):
            self.name = name
            self.__age = 13
            super(Son,self).__init__()
    
        def show(self):
            print(self.name)
            print(self.__age)
            print(self.gender)
            print(self.__gender)
    
    
    obj = Son('Rollo')
    obj.show()

     

  • 相关阅读:
    自定义组件要加@click方法
    绑定样式
    647. Palindromic Substrings
    215. Kth Largest Element in an Array
    448. Find All Numbers Disappeared in an Array
    287. Find the Duplicate Number
    283. Move Zeroes
    234. Palindrome Linked List
    202. Happy Number
    217. Contains Duplicate
  • 原文地址:https://www.cnblogs.com/rollost/p/10934276.html
Copyright © 2011-2022 走看看