python

面向对象与面向过程

1、总述面向对象与面向过程的区别

面向过程:就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步的实现,使用的时候一个个调用就可以了;
面向对象:是把事物分解成不同的对象,建立对象的目的不是完成某一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为;

例如设计一个象棋:面向过程的思路就是首先分析问题的步骤:
1.开始游戏;
2.黑子先走;
3.绘制棋盘画面;
4.判断输赢;
5.白子走;
6.绘制棋盘;
7.判断输赢;
8.返回到步骤2;
9.输出最后的结果;
就这样一步步的实现,问题就解决了;

而面向对象则是从另外一个思路来设计解决问题:
1.玩家系统:黑白ABCD都是玩家,所以属性,步骤功能一样;
2.绘制棋盘系统;
3.规则系统:决定哪个先走,判断输赢等操作;
可以看出面向对象是以功能来划分,而不是步骤,黑子落棋后通知白棋棋盘发生变化,绘制棋盘系统就开始把变化绘制出来,规则系统则判定结果;赢了则返回,否则由白字继续走;

如果要加一个悔棋功能,面向过程则需要改动很多地方,黑子撤回棋,棋盘变化,然后载绘制,再判断,可能很多要变化;随着功能的越来越多,系统无法应付功能需求的规则的复杂而膨胀,最终导致奔溃;但是面向对象只需要得到悔棋命令后,绘制棋盘系统将棋盘重新绘制,调用规则系统判定即可,减少了大的改动;保证了面向对象程序的可扩展性;
原文链接

2.关于python的面向对象程序设计:

面向对象程序设计的思想主要针对大型软件设计而提出,使得软件设计更加灵活,能够很好地支持代码复用和设计复用,并且使得代码具有更好的可读性和可扩展性。
现实生活中的每一个相对独立的事物都可以看作-一个对象,
例如一个人、一 辆车、
台计算机等。对象是具有某些特性和功能的具体事物的抽象。每个对象都
具有描述其特征
的属性及附属于它的行为。例如,一辆车有颜色、 车轮数、座椅数等属性,也有启动、行驶、停止等行为:一个人由姓名、性别、年龄、身高、体重等特征描述,也有走路、说话、学习、开车等行为;一台计算机由主机、显示器、键盘、鼠标等部件组成。
在人们生产一台计算机的时候,并不是先生产主机再生产显示器再生产键盘和鼠标,即不是顺序执行的,而是分别生产设计主机、显示器、键盘、鼠标等,最后把它们组装走来。这些部件通过事先设计好的接口连接,以便协调地工作。 这就是面向对象程序设计基本思路。
每个对象都有一个类型,类是创建对象实例的模板,是对对象的抽象和概括,它包括对所创建对象的属性描述和行为特征的定义。例如,马路上的汽车是一个一个的汽车对象
它们归属于一一个汽车类,那么车身颜色就是该类的属性,开动是它的方法,该保养了或该报废了就是它的事件。
Python完全采用了面向对象程序设计的思想,是真正面向对象的高级动态编程语言
完全支持面向对象的基本功能,例如封装、继承、多态以及对基类方法的覆盖或重写。
其他面向对象程序设计语言不同的是,Python 中对象的概念很广泛,Python 中的一切内容都可以称为对象。例如,字符串、列表、字典、元组等内置数据类型都具有和类完全相同的语法和用法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值