zoukankan      html  css  js  c++  java
  • 多态

    封装方法:在方法名字前加上双下划线

    封装方法的好处:提高安全性,隔离复杂度(将复杂的内容隔离到内部)

    外部只留下简单的接口,使用者难度降低

    1.私有的属性和方法名称:在检测语法时自动加上_类名前缀

    python是通过这样的转换方式来实现封装

    2.只有在类的内部的双下划线才会被自动转换

    并且这个转换过程只执行一次,在类定义完成后,后续添加的以双下划线开头的名称不会自动转换

    3.父类中私有的方法,子类无法使用

    子类无法覆盖父类的私有方法,因为python自动变形的机制

    可以绕过封装的限制直接访问但毫无意义

    有些属性的值通过计算而得并不固定,需要添加方法计算,使得调用方式改变,可以通过property伪装成正常的访问方式

    property可以将方法的调用方式伪装成属性

    property提供setter方法(用户修改属性的值),和deleter(删除属性的值)

    property是一种特殊的属性,访问他时会执行一段功能,返回值

    多态:多种状态形态

    不同对象可以响应同一方法作出不同行为得到不同结果

    实现多态?

    多个子类覆盖父类中同一方法

    抽象方法:

    1.为类指定元类为abc.ABCMeta

    2.在相应方法上加上abc.abstractmethod装饰器

    多态好处:完全不需要考虑得到的对象类型,只需要使用基类中的内容,增加程序的灵活性,增加程序的可扩展性

    python推崇简单的编程方式

    鸭子类型:如果一个对象行为与鸭子相似,那么就可以把它当成鸭子

  • 相关阅读:
    654. Maximum Binary Tree
    764. Largest Plus Sign
    763. Partition Labels
    dasd
    IT项目管理——《人月神话》读后感
    计算机网络实验八实验报告——应用Packet Tracer 5.0模拟器工具对WLAN进行配置
    Explain分析查询语句
    ​二十种实战调优MySQL性能优化的经验
    查询优化 | MySQL慢查询优化
    InnoDB并发事务
  • 原文地址:https://www.cnblogs.com/suncunxu/p/10136631.html
Copyright © 2011-2022 走看看