.NET基础-8

面向对象

面向过程:是一种以过程为中心的变成思想,这些都是以什么正在发生为只要目标进行编程.就是分析出解决问题所需要的步骤,然后用函数吧做这些步骤一一实现,在使用的时候一步一步调用就可以了

面向对象:把构成问题的事务分解成各个对象,简历对象的目的不是为了完成一个步骤,而是为了描述某个事务在整个解决问题的步骤中的行为

比如下棋

面向过程:1开始游戏,2白子先走,3,绘制画面,4判断输赢,5黑子走,6绘制画面,7判断输赢,8返回步骤2。。。游戏结束,吧上面的每一步用函数实现出来就可以了

面向过程:1下棋(黑白双方的操作行为一致),2数值画面,3规则,判断输赢.第一类对象接收玩家输入内容,并告知第二类对象通过接收的数据来绘制画面,然后通过第三类对象类判断输赢

可以发现面向对象是以功能来进行划分问题的,而不是步骤.同样是绘制棋局,在面向过程之中是分散在多个步骤中的,很可能出现多个不同的绘制版本,应为在实际操作中可能会根据具体情况出现简化等.而在面向对象的时候,绘制棋局只能在绘图的对象中出现,保证了代码的统一

功能上的统一保证了面向对象的客户扩展性,如果增加悔棋的操作,在面向过程的时候,输入显示和规则判断这些步骤都要改变.而面向对象只要改变输入,然后通过绘图类来重新绘图就可以实现,这时绘制棋盘和规则都不需要改动.

ps:有些程序员可能以面向对象之虚而行面向过程之实,这样设计出来的所谓面向对象的程序很难有好的可移植性和可扩展性

面向对象的3大特点:

封装:封装吧把一个对象的属性私有化,把对象内部的信息隐藏起来,只对外开放一些接口

扫描二维码关注公众号,回复: 272873 查看本文章

继承:通过继承父类,使子类具有父类的一些功能,通过继承可以非常方便的复用以前的代码,从而提高开发效率,减少代码的重复书写的量

多态:




猜你喜欢

转载自blog.csdn.net/m0_37532448/article/details/80250241