zoukankan      html  css  js  c++  java
  • python3面向对象(3)私有属性和方法以及访问私有属性和方法的方式

    python3中的私有属性和方法是以__两个下划线开头的:

    class Woman(object):        #定义一个woman类      
        def __init__(self,name):
            self.name = name    #公有属性
            self.__age = 22   #私有属性
    
        def __money(self):      #私有方法
            print("哈哈哈,我有很多存款")
    
    obj1 = Woman("红红")
    obj1.name          #可以直接访问
    print(obj1.__age)  #不可以直接访问
    obj1.__money    #不可以直接访问
    

     第一种访问:访问私有属性和方法的方式(在类内,普通方法可以访问私有属性和方法,然后再调用普通方法来访问私有的):

    class Woman(object):
        def __init__(self,name):
            self.name = name
            self.__age = 22
    
        def __money(self):
            print("哈哈哈,我有很多存款")
    
        def func_age(self):    #定义一个普通方法来访问 私有属性
            print("访问到了你的年龄:%s" % self.__age)
    
        def func_money(self):   #定义一个普通方法来访问 私有方法
            self.__money()
    
    obj1 = Woman("红红")
    
    obj1.func_age()
    obj1.func_money()
    

     第二种访问:访问私有属性和方法的方式(通过_类名__私有(属性或方法))

    class Woman(object):
        def __init__(self,name):
            self.name = name
            self.__age = 22
    
        def __money(self):
            print("哈哈哈,我有很多存款")
    
    
    
    obj1 = Woman("红红")
    print(obj1._Woman__age)   #通过_Woman__age
    obj1._Woman__money()   #通过_Woman__money()
    
  • 相关阅读:
    微软外服 AlI In One
    js 循环多次和循环一次的时间的性能对比 All In One
    vue inject All In One
    Excel 表格数据倒置 All In One
    SVG tickets All In One
    OH MY ZSH All In One
    js array for loop performance compare All In One
    mac terminal show You have new mail All In one
    新闻视频 26 制作母版页
    转自牛腩 母版页和相对路径
  • 原文地址:https://www.cnblogs.com/yan-peng/p/9963169.html
Copyright © 2011-2022 走看看