更多课程 选择中心


Python培训

400-996-5531

Python面向对象与面向对象编程有什么区别?


面向对象(Object Oriented)是程序开发领域中的重要思想,这种思想模拟了人类认识客观世界的逻辑,是当前计算机软件工程学的主流方法;类是面向对象的实现手段。Python在设计之初就已经是一门面向对象语言,了解面向对象编程思想对于学习Python开发至关重要。

提到面向对象,自然会想到面向过程。面向过程编程的基本思想是:分析解决问题的步骤,使用函数实现步骤相应的功能,按照步骤的先后顺序依次调用函数。前面章节中所展示的程序都以面向过程的方式实现,面向过程只考虑如何解决当前问题,它着眼于问题本身。

面向对象编程的着眼之处在于角色以及角色之间的联系。使用面向对象编程思想解决问题时,开发人员首先会从问题之中提炼出问题涉及的角色,将不同角色各自的特征和关系进行封装,以角色为主体,通过描述角色的行为去描述解决问题的过程。

下面以五子棋游戏为例说明面向过程和面向对象编程的区别。

1、基于面向过程编程的问题分析

基于面向过程思想分析五子棋游戏,游戏开始后黑子一方先落棋,棋子落在棋盘后棋盘产生变化,棋盘更新并判断输赢:若本轮落棋的一方胜利则输出结果并结束游戏,否则白子一方落棋、棋盘更新、判断输赢,如此往复,直至分出胜负。

2、基于面向对象编程的问题模拟

基于面向对象编程思想考虑问题时需首先分析问题中存在的角色。五子棋游戏中的角色分为两个:玩家和棋盘。不同的角色负责不同的功能,例如:

(1) 玩家角色负责控制棋子落下的位置;

(2) 棋盘角色负责保存棋盘状况、绘制画面、判断输赢。

角色之间互相独立,但相互协作,游戏的流程不再由单一的功能函数实现,而是通过调用与角色相关的方法来完成。

面向对象保证了功能的统一性,基于面向对象实现的代码更容易维护,比如,现在要加入悔棋的功能,如果使用面向过程开发,改动会涉及到游戏的整个流程,输入、判断、显示这一系列步骤都需要修改,这显然非常麻烦;但若使用面向对象开发,由于棋盘状况由棋盘角色保存,只需要为棋盘角色添加回溯功能即可。相较而言,在面向对象程序中功能扩充时改动波及的范围更小。

免责声明:内容来源于公开网络,若涉及侵权联系尽快删除!

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:Python爬虫可以的应用
下一篇:2021年为什么学习Python开发

Python培训这么多,靠谱的Python培训班怎么选?

Python与C++学哪个好?

AI产品运营主要做什么?

Python所有系统都能用吗?

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省