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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(一)Python入门-6面向对象编程:01面向对象和面向过程区别-对象的进化

摘要: 面向对象: 面向对象(Object oriented Programming,OOP)编程的思想主要是针对大型 软件设计而来的。面向对象编程使程序的扩展性更强、可读性更好,使的编程可以像搭 积木一样简单。 面向对象编程将数据和操作数据相关的方法封装到对象中,组织代码和数据的方式 更加接近人的思维,从 阅读全文
posted @ 2019-05-11 23:35 JACK#zhang 阅读(327) 评论(0) 推荐(0) 编辑

(一)Python入门-6面向对象编程:02类的定义-类和对象的关系-构造函数-实例属性-实例方法

摘要: 一:类的定义 如果把对象比作一个“饼干”,类就是制造这个饼干的“模具”。 我们通过类定义数据类型的属性(数据)和方法(行为),也就是说,“类将行为和状态打 包在一起”。 对象是类的具体实体,一般称为“类的实例”。类看做“饼干模具”,对象就是根据这个“模 具”制造出的“饼干”。 从一个类创建对象时,每 阅读全文
posted @ 2019-05-11 23:35 JACK#zhang 阅读(565) 评论(0) 推荐(0) 编辑