Python是一种脚本语言,也支持面向对象程序设计。面向对象程序设计 (Object-OrientedProgramming,OOP)是一种程序设计方法,它把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。类是面向对象程序设计的基础,它把数据和作用于这些数据上的操作组合在一起,是封装的基本单元。对象是类的实例,类定义了属于该类的所有对象的共同特性。面向对象程序设计具有三个基本特征:封装、继承和多态。在Python中一切都是对象,类本身也是一个对象 (类对象),类的实例也是对象,变量、函数都是对象。
前面各章程序所采用的方法是结构化程序设计思想,它是面向过程的,其数据和处理数据的程序是分离的。一个面向对象的程序是将数据和处理数据的函数封装到一个类中,而属于类的变量称为对象。在一个对象内,只有属于该对象的函数,才可以存取该对象的数据,其他函数不能对它进行操作,从而达到数据保护和隐藏的效果。
面向过程的程序设计把求解问题的程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程程序设计就是采用自顶向下的方法,分析出解决问题所需要的步骤,将程序分解为若干个功能模块,每个功能模块用函数来实现。而面向对象程序设计是把构成问题的各个事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述一个事物在整个解决问题的步骤中的行为。每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递的结果。
面向对象和面向过程是两种不同的程序设计思想,没有哪一种是绝对完美,要根据具体需求拟定开发方案。例如,开发一个小型软件或应用程序,工程量小,短时间内即可完成,完全可以采用面向过程的开发方式,而使用面向对象的开发方法,反而会增加代码量,降低开发效率。面向对象程序设计是面向过程程序设计的补充和完善,对开发较大规模的程序而言,可以显著提高软件开发的效率。(www.xing528.com)
一个面向对象的程序一般由类的声明和类的使用两部分组成。类的使用部分一般由主程序和有关函数组成,这时,程序设计始终围绕类展开。通过声明类,构建了程序所要完成的功能,体现了面向对象程序设计的思想。在Python中,所有数据类型都可以视为对象。下面看一个具体的例子,直观地了解一下面向过程和面向对象在程序流程上的不同之处。
假设要处理一个班级的学生成绩,面向过程的程序如下:
如果采用面向对象的程序设计思想,首先要定义一个学生 (Student)类,这个类有name和score这两个属性。打印成绩则要创建出学生类对应的对象,再给对象发一个prt_score消息,让对象把数据打印出来。面向对象的程序如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。