1. 面向对象
1. 面向对象
1. 面向对象编程万物皆对象
1. 对象?
对象:独立的存在 或 作为目标的事物
- 独立性:对象都存在清晰的边界,重点在于划分边界
- 功能性:对象都能表现出一些功能、操作或行为
- 交互性:对象之间存在交换,如:运算和继承
2. Python语言的“万物皆对象”
- Python语言中所有的数据类型都行对象、函数是对象、模块是对象
- Python所有类都继承与最基础类object
- Python语言中数据类型的操作功能都是类方法的体现
3. OOP: Object-Oriented Programming
- OOP: 面向对象编程,一种编程思想,重点在于高抽象的复用代码
- OOP把对象当做程序的基本单元,对象包含数据和操作数据的函数
- OOP本质是把问题解决, 抽象为以对象为中心的计算机程序
- OOP在较大规模或复杂项目中十分有用,OOP可以提高协作产量
- OOP最主要价值在于代码复用
- OOP只是一种编程方式,并非解决问题的高级方法
4. 面向对象 VS 面向过程
- 面向过程: 以解决问题的过程步骤为核心编写程序的方式
- 面向对象: 以问题对象构建和应用为核心的编程程序的方式
- 所有OOP能解决的问题,面向过程都能解决
5. OOP三个特征
- 封装: 属性和方法的抽象,用数据和操作数据的方法来形成对象逻辑
- 继承:代码复用的高级抽象,用对象之间的继承关系来形成代码复用
- 多态: 方法灵活性的抽象,让对象的操作更加灵活,更多复用代码
6. 封装Encapsulation
- 属性的抽象: 对象的属性(变量)进行定义、隔离及保护
- 方法的抽象: 对类的方法(函数)进行定义、隔离及保护
- 目标是形成一个类对外可操作属性和方法的接口
7. 继承 Inheritance
- 继承是面向对象程序设计的精髓之一
- 定义了以类为单位的高级抽象级别代码复用
- 继承是新定义类能够几乎完全使用原有类属性与方法的过程
8. 多态 Polymorphism
参数类型的多态:一个方法能够处理多个类型的能力
参数形式的多态: 一个方法能够接受多个参数的能力
多态是OOP的一个传统概念,Python天然支持多态,不需要特殊语法
2. Python 面向对象术语概述
1. 类 class 和 对象 Object
- 类: 逻辑抽象和产生对象的模板,一组变量和函数的特定编排
- 对象: 具体表达数据及操作的实体,相当于程序中的“变量“
- 实例化:从类到对象的过程,所有“对象”都源于某个“类”
2. 常用术语
对象: 类对象、实例对象
属性: 存储数据的“变量”, 包括:类属性、实例属性
方法:操作数据的“函数”
包括:
- 类方法
__classmethod__
- 实例方法
- 自由方法
- 静态方法
__staticmethod__
- 保留方法
- 类方法
三个特性: 封装、继承、多态
继承: 基类、派生类、子类、父类、超类
命名空间: 程序元素作用域的表达
构造和析构:生成对象和删除对象的过程
类对象 vs 实例对象
类对象:
Class Object
,维护每个Python类基本信息的数据结构实例对象: Instance Object, Python类实例后产生的对象,简称:对象。
这是一组概念,类对象全局只有一个,实例对象可以生产多个。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 aigonna!
评论