网站建设公司的专业度该怎么去看,电影html网页模板设计素材,北京标识设计制作,seo外包公司兴田德润官方地址https://blog.csdn.net/jerry11112/article/details/79027834
如果你很想搞明白面向对象是什么#xff0c;面向过程是什么#xff0c;或者说二者之间的区别是什么#xff0c;那么就花费一点时间来研读一下这篇博客#xff0c;你一定会有很大的收获的#xff01;
一、面向…https://blog.csdn.net/jerry11112/article/details/79027834
如果你很想搞明白面向对象是什么面向过程是什么或者说二者之间的区别是什么那么就花费一点时间来研读一下这篇博客你一定会有很大的收获的
一、面向对象与面向过程的区别
面向过程就是分析出解决问题所需要的步骤然后用函数把这些步骤一步一步实现使用的时候一个一个依次调用就可以了面向对象是把构成问题事务分解成各个对象建立对象的目的不是为了完成一个步骤而是为了描叙某个事物在整个解决问题的步骤中的行为。
可以拿生活中的实例来理解面向过程与面向对象例如五子棋面向过程的设计思路就是首先分析问题的步骤1、开始游戏2、黑子先走3、绘制画面4、判断输赢5、轮到白子6、绘制画面7、判断输赢8、返回步骤29、输出最后结果。把上面每个步骤用不同的方法来实现。
如果是面向对象的设计思想来解决问题。面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为1、黑白双方这两方的行为是一模一样的2、棋盘系统负责绘制画面3、规则系统负责判定诸如犯规、输赢等。第一类对象玩家对象负责接受用户输入并告知第二类对象棋盘对象棋子布局的变化棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化同时利用第三类对象规则系统来对棋局进行判定。
可以明显地看出面向对象是以功能来划分问题而不是步骤。同样是绘制棋局这样的行为在面向过程的设计中分散在了多个步骤中很可能出现不同的绘制版本因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对象的设计中绘图只可能在棋盘对象中出现从而保证了绘图的统一。
上述的内容是从网上查到的觉得这个例子非常的生动形象我就写了下来现在就应该理解了他俩的区别了吧其实就是两句话面向对象就是高度实物抽象化、面向过程就是自顶向下的编程
二、面向对象的特点 在了解其特点之前咱们先谈谈对象对象就是现实世界存在的任何事务都可以称之为对象有着自己独特的个性 属性用来描述具体某个对象的特征。比如小志身高180M体重70KG这里身高、体重都是属性。 面向对象的思想就是把一切都看成对象而对象一般都由属性方法组成
属性属于对象静态的一面用来形容对象的一些特性方法属于对象动态的一面咱们举一个例子小明会跑会说话跑、说话这些行为就是对象的方法所以为动态的一面 我们把属性和方法称为这个对象的成员
类具有同种属性的对象称为类是个抽象的概念。比如“人”就是一类期中有一些人名比如小明、小红、小玲等等这些都是对象类就相当于一个模具他定义了它所包含的全体对象的公共特征和功能对象就是类的一个实例化小明就是人的一个实例化我们在做程序的时候经常要将一个变量实例化就是这个原理我们一般在做程序的时候一般都不用类名的比如我们在叫小明的时候不会喊“人你干嘛呢”而是说的是“小明你在干嘛呢”
面向对象有三大特性分别是封装性、继承性和多态性这里小编不给予太多的解释因为在后边的博客会专门总结的
三、面向过程与面向对象的优缺点
很多资料上全都是一群很难理解的理论知识整的小编头都大了后来发现了一个比较好的文章写的真是太棒了通俗易懂想要不明白都难!
用面向过程的方法写出来的程序是一份蛋炒饭而用面向对象写出来的程序是一份盖浇饭。所谓盖浇饭北京叫盖饭东北叫烩饭广东叫碟头饭就是在一碗白米饭上面浇上一份盖菜你喜欢什么菜你就浇上什么菜。我觉得这个比喻还是比较贴切的。
蛋炒饭制作的细节我不太清楚因为我没当过厨师也不会做饭但最后的一道工序肯定是把米饭和鸡蛋混在一起炒匀。盖浇饭呢则是把米饭和盖菜分别做好你如果要一份红烧肉盖饭呢就给你浇一份红烧肉如果要一份青椒土豆盖浇饭就给浇一份青椒土豆丝。
蛋炒饭的好处就是入味均匀吃起来香。如果恰巧你不爱吃鸡蛋只爱吃青菜的话那么唯一的办法就是全部倒掉重新做一份青菜炒饭了。盖浇饭就没这么多麻烦你只需要把上面的盖菜拨掉更换一份盖菜就可以了。盖浇饭的缺点是入味不均可能没有蛋炒饭那么香。
到底是蛋炒饭好还是盖浇饭好呢其实这类问题都很难回答非要比个上下高低的话就必须设定一个场景否则只能说是各有所长。如果大家都不是美食家没那么多讲究那么从饭馆角度来讲的话做盖浇饭显然比蛋炒饭更有优势他可以组合出来任意多的组合而且不会浪费。
盖浇饭的好处就是”菜”“饭”分离从而提高了制作盖浇饭的灵活性。饭不满意就换饭菜不满意换菜。用软件工程的专业术语就是”可维护性“比较好”饭” 和”菜”的耦合度比较低。蛋炒饭将”蛋”“饭”搅和在一起想换”蛋”“饭”中任何一种都很困难耦合度很高以至于”可维护性”比较差。软件工程追求的目标之一就是可维护性可维护性主要表现在3个方面可理解性、可测试性和可修改性。面向对象的好处之一就是显著的改善了软件系统的可维护性。 看了这篇文章简单的总结一下!
面向过程 优点性能比面向对象高因为类调用时需要实例化开销比较大比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发性能是最重要的因素。 缺点没有面向对象易维护、易复用、易扩展 面向对象 优点易维护、易复用、易扩展由于面向对象有封装、继承、多态性的特性可以设计出低耦合的系统使系统 更加灵活、更加易于维护 缺点性能比面向过程低 https://blog.csdn.net/jerry11112/article/details/79027834