01 2024 档案
摘要:单例模式 一、什么是设计模式 解决问题的模板,在代码编写的过程中,前辈们会遇到很多问题并尝试解决,长久以来就形成了一套相对规范的解决方法 而单例方法就是其中一种使用较多的设计模式 二、为什么要使用单例方法(设计模式) 设计模式可以帮助开发人员编写高质量、可重用和易于维护的代码。 通过使用设计模式,开
阅读全文
摘要:面向对象之内置方法 Python的Class机制内置了很多特殊的方法来帮助使用者高度定制自己的类 这些内置方法都是以双下划线开头和结尾的,会在满足某种条件时自动触发 __init__ :初始化类时触发 __del__ :删除类时触发 __new__ :构造类时触发 __str__ :str函数或
阅读全文
摘要:面向对象之派生和组合 派生 派生是指,子类继承父类,派生出自己的属性与方法,并且重用父类的属性与方法 一、派生的方法 子类是必须要派生出自己的数据属性不然就无数据属性可用 子类无法使用父类中__init__定义的属性 class Person(object): def __init__(self,
阅读全文
摘要:面向对象之元类 一、什么是元类 产生已知类的类就叫做元类,type class Person(object): ... def func(): ... people = Person() # 产生对象的是类 print(type(people)) # <class '__main__.Person'
阅读全文
摘要:面向对象之抽象类 一、接口与抽象类 [1]什么是接口 因为Python中没有具体的接口概念我们以Java中的接口来对接口进行解释:我们以IAnimal.java(动物类)为例 Java的Interface接口的特征 是一组功能的集合,而不是一个功能 接口的功能用于交互,所有的功能都是public,即
阅读全文
摘要:面相对象之反射 一、什么是反射 Python中的反射: 通过字符串的形式操作对象相关的属性。 python中的一切事物都是对象(都可以使用反射) 二、反射方法 [1]四种反射方法 获取对象的属性值,如果属性值不存在可以设定默认值 getattr(object, name[, default]) 判断
阅读全文
摘要:面相对象之多态和鸭子类型 多态指的是一类事物有多种形态 一、多态动态绑定(多态性) 多态动态绑定在继承的背景下使用时,有时也称为多态性 多态性是指在不考虑实例类型的情况下使用实例 在面向对象方法中一般是这样表述多态性: 向不同的对象发送同一条消息 不同的对象在接收时会产生不同的行为(即方法) 也就是
阅读全文
摘要:面向对象的三大特性之继承 一、什么是继承 继承是一种创建新类的方式,新建的类可以继承一个或多个父类(python支持多继承),父类又可称为基类或超类,新建的类称为派生类或子类。 子类会“”遗传”父类的属性,从而解决代码重用问题(去掉冗余的代码) python中类的继承分为:单继承和多继承 二、单继承
阅读全文
摘要:面向对象三大特性之封装 面向对象编程有三大特性: 封装、继承、多态 其中最重要的一个特性就是封装。 封装指的就是把数据与功能都整合到一起 针对封装到对象或者类中的属性,我们还可以严格控制对它们的访问,分两步实现:隐藏与开放接口 一、封装的介绍 在程序设计中,封装(Encapsulation)是对具体
阅读全文
摘要:面向对象之面向对象编程 一、面向过程与面向对象 [1]面向过程 面向过程着重于过程,就是将程序“流程化” 所谓“流程化”就是将功能、问题等一步一步地逐步实现,像流水线一样,整个过程从开始到结尾线状排序 (1)面向程序的优点 将复杂的问题逐步拆分,进而简单化 (2)面向对象的缺点 一套流程就用来解决一
阅读全文