一:工厂模式实现 设计模式是面向对象语言特有的内容,是我们在面临某一类问题时候固定的做法,设计 模式有很多种,比较流行的是:GOF(Goup Of Four)23 种设计模式。 工厂模式实现了创建者和调用者的分离,使用专门的工厂类将选择实现类、创建对象进 行统一的管理和控制。 【操作】 运行结果: ...
分类:
编程语言 时间:
2019-05-12 01:39:45
阅读次数:
165
一:多重继承 Python支持多重继承,一个子类可以有多个“直接父类”。这样,就具备了“多个父类”的特点。但是由于,这样会被“类的整体层次”搞的异常复杂,尽量避免使用。 二:mro() Python支持多继承,如果父类中有相同名字的方法,在子类没有指定父类名时,解释器将 “从左向右”按顺序搜索。 M ...
分类:
编程语言 时间:
2019-05-12 01:37:46
阅读次数:
178
一:方法没有重载 在其他语言中,可以定义多个重名的方法,只要保证方法签名唯一即可。方法签名包含 3 个部分:方法名、参数数量、参数类型。 Python中,方法的的参数没有声明类型(调用时确定参数的类型),参数的数量也可以由 可变参数控制。因此,Python中是没有方法的重载的。定义一个方法即可有多种 ...
分类:
编程语言 时间:
2019-05-12 01:30:17
阅读次数:
121
一:类的定义 如果把对象比作一个“饼干”,类就是制造这个饼干的“模具”。 我们通过类定义数据类型的属性(数据)和方法(行为),也就是说,“类将行为和状态打 包在一起”。 对象是类的具体实体,一般称为“类的实例”。类看做“饼干模具”,对象就是根据这个“模 具”制造出的“饼干”。 从一个类创建对象时,每 ...
分类:
编程语言 时间:
2019-05-12 01:27:28
阅读次数:
144
一:特殊方法和运算符重载 Python的运算符实际上是通过调用对象的特殊方法实现的。比如: 运行结果: c= 50 d= 50 常见的特殊方法统计如下: 每个运算符实际上都对应了相应的方法,统计如下: 我们可以重写上面的特殊方法,即实现了“运算符的重载”。 【操作】运算符的重载 运行结果: jack ...
分类:
编程语言 时间:
2019-05-12 01:17:22
阅读次数:
147
组合: “is-a”关系,我们可以使用“继承”。从而实现子类拥有的父类的方法和属性。“is-a” 关系指的是类似这样的关系:狗是动物,dog is animal。狗类就应该继承动物类。 “has-a”关系,我们可以使用“组合”,也能实现一个类拥有另一个类的方法和属性。” has-a”关系指的是这样的 ...
分类:
编程语言 时间:
2019-05-12 01:13:11
阅读次数:
161
一:面向对象三大特征介绍 Python是面向对象的语言,也支持面向对象编程的三大特性:继承、封装(隐藏)、多态。 封装(隐藏) 隐藏对象的属性和实现细节,只对外提供必要的方法。相当于将“细节封装起来”,只 对外暴露“相关调用方法”。 通过前面学习的“私有属性、私有方法”的方式,实现“封装”。Pyth ...
分类:
编程语言 时间:
2019-05-12 01:08:32
阅读次数:
104
一:私有属性和私有方法(实现封装) Python对于类的成员没有严格的访问控制限制,这与其他面向对象语言有区别。关于私有 属性和私有方法,有如下要点: 1. 通常我们约定,两个下划线开头的属性是私有的(private)。其他为公共的(public)。 2. 类内部可以访问私有属性(方法) 3. 类外 ...
分类:
编程语言 时间:
2019-05-12 00:50:47
阅读次数:
171
对象的浅拷贝和深拷贝: 变量的赋值操作 只是形成两个变量,实际还是指向同一个对象。 浅拷贝 Python拷贝一般都是浅拷贝。拷贝时,对象包含的子对象内容不拷贝。因此,源对象 和拷贝对象会引用同一个子对象。 深拷贝 使用copy模块的 deepcopy 函数,递归拷贝对象中包含的子对象。源对象和拷贝对 ...
分类:
编程语言 时间:
2019-05-12 00:47:50
阅读次数:
145
1. 该模式就是把一些复杂的流程封装成一个接口供给外部用户更简单的使用 门面角色:外观模式的核心。它被客户角色调用,它熟悉子系统的功能。内部根据客户角色的需求预定了几种功能的组合 子系统角色:实现了子系统的功能。它对客户角色和Facade时未知的 客户角色:通过调用Facede来完成要实现的功能 2 ...
分类:
其他好文 时间:
2019-05-04 21:22:36
阅读次数:
160