zoukankan      html  css  js  c++  java
  • 封装

    封装 enclosure
      封装是指隐藏类的实现细节,让使用者不关心这些细节
      封装的目的是让使用者通过尽可能少的方法(或属性)操作对象


    私有属性和方法
      python类中以双下划线('__') 开头,不以双下划线结尾的标识符为私有成员,私有成员或只能用类内的方法进行访问和修改
      以__开头的实例变量有私有属性
      以__开头的方法为私有方法

    注:python 的封装是假的封装(模拟的封装)

    class A:
        def __init__(self,name):   
            self.__name = name          #<<<---   __p1为私有属性
    
        def show_init(self):
            print(self.__name)
            print(self.__m())
    
        def __m(self):
            print("A类的私有方法")
    
    a = A("zengsf")
    a.show_init()
    
    a.__name = "fengshao"   #对象调用隐藏的属性修改是无效的
    a.show_init()
    #a.__m()    #这样就会报错
    ~                           
    
    tarena@tedu:~/zengsf/827$ python3 test.py
    zengsf
    A类的私有方法
    None
    zengsf
    A类的私有方法
    None
  • 相关阅读:
    oracle 函数
    Oracle 语句
    递归算法算出某个目录下所有目录和文件
    static
    递归算法
    JVM/JDK/JRE
    java跨平台原理
    .NET 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”
    JS 判断对象是否为空
    html网页打印A4样式
  • 原文地址:https://www.cnblogs.com/zengsf/p/9551034.html
Copyright © 2011-2022 走看看