1.3.2 面向对象编程中的基础概念
面向对象是一种软件开发方法,其核心为将数据和方法组织成一个整体,从而更抽象地对软件的结构进行设计。早期的计算机更多是用来进行算数运算,因此编程方式也大多是面向过程的,只需要设计一个算法即可解决当前的问题。随着计算机越来越普及,功能越来越强大,产生了更多生活类应用和游戏类应用需要编程人员开发,这种与现实生活非常契合的软件使用面向过程的方式开发会变得异常复杂,从而面向对象的编程方法开始流行。
1.类
编程中的类与生活中的分类有些许类似,类用来描述一种事物,生活中的一种事物可以通过属性和行为进行描述;就像天空中飞翔的小鸟都有一些共性,从属性上来讲,它们都有翅膀、羽毛等,从行为上来讲,它们都能够飞翔。如果我们要编写一个游戏程序,其中有飞鸟这种元素,就可以将其设计为一个类。Python是一种面向对象的语言,其本身支持类的定义。
2.属性
属性是针对类而言的,类中存储的数据被称为属性,与变量不同的是,类中的属性是与具体的实例相绑定的,有相关实际意义,例如编程中定义的飞鸟类有羽毛属性,不同的飞鸟其羽毛的长短和颜色都可能不同。
3.方法
方法是类中定义的函数,其描述类的行为,通常表示一种动作。属性和方法是类中重要的两个概念。
4.对象
对象是类的实例,类是对象的模板。在面向对象编程中,我们所操作的大部分数据都是对象。
5.继承
继承是面向对象编程中的一种特性,继承可以使得子类具有父类的属性和方法,并且允许子类对父类进行修改和扩展。通过继承增强了代码的复用性,提高了架构的可扩展性。继承、多态与封装是面向对象编程的三个基本特征。
6.多态
多态是面向对象编程中的一种特性,在编程时,开发者可以通过定义接口的方式来将具体的实现延后,相同的接口可以有多种不同的实现,通过这种技术可以实现同一操作作用于不同的对象时产生不同的结果。
7.封装
封装即隐藏对象的属性和实现细节,在面向对象编程中,类就是一种很好的封装,其将属性和方法聚合在类的内部,只对外暴露交互接口。