6.1 面向对象编程相关概念
6.1.1 什么是面向对象编程
面向对象编程
——Object Oriented Programming,简称OOP
,是一种程序设计思想。在该思想中程序里万物都是对象
。
OOP把对象作为程序的基本单元,把具有相同行为的对象归纳成类
,通过封装
隐藏类的内部细节,通过继承
使类得到泛化,通过多态
实现基于对象类型的动态分类。
封装、继承和多态是面向对象编程的三大特点。
6.1.2 类
类(Class)
是面向对象程序设计实现信息封装的基础。类是一种用户定义的引用数据类型,也称类
类型。每个类包含数据说明(属性
)和一组操作数据或传递消息的函数(方法
)。类的实例
称为对象。
类是面向对象语言的程序设计中的概念,是面向对象编程的基础。类内部封装的属性和方法,用于操作自身的成员。
类的3大特点:
封装
:对外部隐藏有关对象工作原理的细节。
继承
:可基于通用类创建出专用类。
多态
:可对不同类型的对象执行相同的操作,而这些操作就像被施了魔法
一样能够正常运行。
6.1.3 对象
对象
可以是一个变量,一个数据结构,或是一个函数。是面向对象编程中的术语,既表示客观世界问题空间(Namespace)中的某个具体的事物,又表示软件系统空间中的基本元素。
在软件系统中,对象具有唯一的标识符,对象包括属性和方法,属性就是需要记忆的信息,方法就是对象能够提供的服务。在面向对象的软件中,对象是某一个类的实例。
在Python中,所有数据类型都可以视为对象,当然也可以自定义对象。自定义的对象数据类型就是面向对象中的类的概念。
对象的特点:
- 对象具有属性和行为。
- 对象具有变化的状态。
- 对象具有唯一性。
- 对象都是某个类别的实例。
- 对象就是通过类定义的数据结构实例