(一)Python入门-6面向对象编程:12设计模式之工厂模式-单例模式

摘要: 一:工厂模式实现 设计模式是面向对象语言特有的内容,是我们在面临某一类问题时候固定的做法,设计 模式有很多种,比较流行的是:GOF(Goup Of Four)23 种设计模式。 工厂模式实现了创建者和调用者的分离,使用专门的工厂类将选择实现类、创建对象进 行统一的管理和控制。 【操作】 运行结果: 阅读全文
posted @ 2019-05-11 23:38 JACK#zhang 阅读(340) 评论(0) 推荐(0) 编辑

(一)Python入门-6面向对象编程:07面向对象三大特征(封装、继承、多态)-继承

摘要: 一:面向对象三大特征介绍 Python是面向对象的语言,也支持面向对象编程的三大特性:继承、封装(隐藏)、多态。 封装(隐藏) 隐藏对象的属性和实现细节,只对外提供必要的方法。相当于将“细节封装起来”,只 对外暴露“相关调用方法”。 通过前面学习的“私有属性、私有方法”的方式,实现“封装”。Pyth 阅读全文
posted @ 2019-05-11 23:37 JACK#zhang 阅读(336) 评论(0) 推荐(0) 编辑

(一)Python入门-6面向对象编程:08多重继承-mro()-super()获得父类的定义

摘要: 一:多重继承 Python支持多重继承,一个子类可以有多个“直接父类”。这样,就具备了“多个父类”的特点。但是由于,这样会被“类的整体层次”搞的异常复杂,尽量避免使用。 二:mro() Python支持多继承,如果父类中有相同名字的方法,在子类没有指定父类名时,解释器将 “从左向右”按顺序搜索。 M 阅读全文
posted @ 2019-05-11 23:37 JACK#zhang 阅读(199) 评论(0) 推荐(0) 编辑

(一)Python入门-6面向对象编程:09多态

摘要: 多态: 多态(polymorphism)是指同一个方法调用由于对象不同可能会产生不同的行为。在现实 生活中,我们有很多例子。比如:同样是调用人的休息方法,张三的休息是睡觉,李四的休 息是玩游戏,程序员是敲代码。同样是吃饭的方法,中国人用筷子吃饭,英国人用刀叉吃 饭,印度人用手吃饭。 关于多态要注意以 阅读全文
posted @ 2019-05-11 23:37 JACK#zhang 阅读(188) 评论(0) 推荐(0) 编辑

(一)Python入门-6面向对象编程:10特殊方法和运算符重载-特殊属性

摘要: 一:特殊方法和运算符重载 Python的运算符实际上是通过调用对象的特殊方法实现的。比如: 运行结果: c= 50 d= 50 常见的特殊方法统计如下: 每个运算符实际上都对应了相应的方法,统计如下: 我们可以重写上面的特殊方法,即实现了“运算符的重载”。 【操作】运算符的重载 运行结果: jack 阅读全文
posted @ 2019-05-11 23:37 JACK#zhang 阅读(160) 评论(0) 推荐(0) 编辑

(一)Python入门-6面向对象编程:11对象的浅拷贝和深拷贝

摘要: 对象的浅拷贝和深拷贝: 变量的赋值操作 只是形成两个变量,实际还是指向同一个对象。 浅拷贝 Python拷贝一般都是浅拷贝。拷贝时,对象包含的子对象内容不拷贝。因此,源对象 和拷贝对象会引用同一个子对象。 深拷贝 使用copy模块的 deepcopy 函数,递归拷贝对象中包含的子对象。源对象和拷贝对 阅读全文
posted @ 2019-05-11 23:37 JACK#zhang 阅读(259) 评论(0) 推荐(0) 编辑

(一)Python入门-6面向对象编程:12组合

摘要: 组合: “is-a”关系,我们可以使用“继承”。从而实现子类拥有的父类的方法和属性。“is-a” 关系指的是类似这样的关系:狗是动物,dog is animal。狗类就应该继承动物类。 “has-a”关系,我们可以使用“组合”,也能实现一个类拥有另一个类的方法和属性。” has-a”关系指的是这样的 阅读全文
posted @ 2019-05-11 23:37 JACK#zhang 阅读(141) 评论(0) 推荐(0) 编辑

(一)Python入门-6面向对象编程:06私有属性和私有方法(实现封装)-@property装饰器-get和set方法-总结

摘要: 一:私有属性和私有方法(实现封装) Python对于类的成员没有严格的访问控制限制,这与其他面向对象语言有区别。关于私有 属性和私有方法,有如下要点: 1. 通常我们约定,两个下划线开头的属性是私有的(private)。其他为公共的(public)。 2. 类内部可以访问私有属性(方法) 3. 类外 阅读全文
posted @ 2019-05-11 23:36 JACK#zhang 阅读(446) 评论(0) 推荐(0) 编辑

(一)Python入门-6面向对象编程:05方法没有重载-方法的动态性

摘要: 一:方法没有重载 在其他语言中,可以定义多个重名的方法,只要保证方法签名唯一即可。方法签名包含 3 个部分:方法名、参数数量、参数类型。 Python中,方法的的参数没有声明类型(调用时确定参数的类型),参数的数量也可以由 可变参数控制。因此,Python中是没有方法的重载的。定义一个方法即可有多种 阅读全文
posted @ 2019-05-11 23:35 JACK#zhang 阅读(160) 评论(0) 推荐(0) 编辑

(一)Python入门-6面向对象编程:04__del__方法(析构函数)和垃圾回收机制-__call__方法和可调用对象

摘要: 一:__del__方法(析构函数)和垃圾回收机制 __del__方法称为“析构方法”,用于实现对象被销毁时所需的操作。比如:释放对象 占用的资源,例如:打开的文件资源、网络连接等。 Python实现自动的垃圾回收,当对象没有被引用时(引用计数为 0),由垃圾回收器 调用__del__方法。 我们也可 阅读全文
posted @ 2019-05-11 23:35 JACK#zhang 阅读(148) 评论(0) 推荐(0) 编辑