zoukankan      html  css  js  c++  java
  • python第十八天 多态 和 私有

    python的多态比较特别

    多态, 字面意思,多种状态. 扩展下 -> 执行同样的操作,结果却不同.

    对使用的操作者来说, 就是执行同一个方法, 得到了不同的结果. 在操作者看来,像是   具备 多种状态的特性.

     1 class A:
     2     def run(self):
     3         print('run a a a')
     4 
     5 
     6 class B:
     7     def run(self):
     8         print('fly b b b')
     9 
    10 
    11 def execute(obj):
    12     obj.run()
    13 
    14 
    15 execute(A())   run a a a
    16 execute(B())   fly b b b

      从如上代码可以知道, A类 和 B 类 唯一的共同点,就是都默认继承 object类.

     A 类中定义的 方法 run, B 类中 也 定义了 方法 run

      这两个方法分别定义的, 完全可以执行不同的逻辑操作代码.

    函数 execute中, 局部变量 obj调用了 run方法, 如果实参obj 本身没有 run方法, 程序就会报错

     所以,这就要求python开发者, 遵守python规范

    类的私有变量

    1 class A:
    2     __name = 'A'    在名称前, 加两个下划线, 类的静态变量,就变成了 类的私有变量
    3 
    4     def test(self):
    5         print(self.__name)   只能在 类内部 中被引用,   在外部或子类中,都不能使用

    类的私有方法

     同样是在名称前 加两个下划线

    对象的私有变量

    同样是在名称前 加两个下划线

  • 相关阅读:
    判断ip是内网还是外网, 判断请求来之pc还是mobile
    CentOS6.5(Kernel2.6) Compile PHP5.6
    java设计模式笔记
    Java定时quartz(spring)
    Transforming beans, maps, collections, java arrays and XML to JSON
    java socket通讯交互
    第一个WebService CXF的搭建
    java技术成长之路
    struts2中文乱码
    sql server分页(摘)
  • 原文地址:https://www.cnblogs.com/golzn2018/p/9556047.html
Copyright © 2011-2022 走看看