面向对象和面向过程是编程语言的分类依据吗,面向对象编程与面向过程编程的区别-
通俗地说 , 就是以 事 为中心 , 还是以 物 为中心 。
面向过程
面向过程的编程思想 , 聚集于解决问题的方法 , 也就是干了什么事(即上面所说的事) 。
采用这种思想进行编程时 , 重点是构建一个个函数 。
- 举例
文章插图
面向过程的思路多半是这样的 , 书写一个绘制鲜花函数(比如取名为 DrawFlower ) , 带两个参数 , 一个参数用于指定鲜花的颜色 , 另一个参数用于指定鲜花的大小 。
文章插图
函数写好后 , 每当需要画花时 , 就调用一次 DrawFlower 函数 。
现在 , 我们要在窗口绘制一朵红花 , 一朵黄花 , 那就分别调用 DrawFlower 函数两次 , 一次画红花 , 一次画黄花 。那么 , 如果要画 1 亿朵五颜六色的花呢 , 那就调用 1 亿次函数 , 并分别传入五花八门的颜色和大小 。
文章插图
面向对象
而面向对象的方法 , 则聚焦于实施动作的对象 , 也就是这事儿是谁干的(即上面所说的物) 。
采用这种思想进行编程时 , 重点是抽象提炼出一个个物对象 , 再根据需要构建一个个类 。
- 举例
- 颜色
- 大小
- 绘制
文章插图
当我们要绘制鲜花时 , 需要首先实例化一个 Flower 鲜花对象(在创建鲜花对象时 , 我们为它指定颜色和大小) 。然后 , 当需要在窗口上绘制时 , 我们再调用这个鲜花对象的绘制方法 。
区别
- 当我们使用面向过程的思想时 , 由于需要编写处理事情的函数 , 所以我们要明确解决问题的过程和要素 。
- 当我们使用面向对象的思想时 , 由于首先需要构建类 , 所以我们要提取出来这个物类的共性 。例如 , 鲜花都有颜色 , 也都有一定的大小 。而且 , 我们构建该物类的最终目的是为了绘制鲜花 , 所以还必须创建一个绘制方法 。
面向过程的主要优点是性能好 , 省资源(因为无需构建对象) , 缺点是不直观 , 与日常生活中的观念相差较大 , 不易于理解 , 也不利于复用 , 工程复杂时管理起来难度颇大 。
文章插图
面向对象的主要优点是易于理解和维护、扩展方便(因为面向对象有继承、多态等) , 复用率高 , 可根据需要隐藏内部实现 , 仅暴露必要的接口 , 缺点是总的来说比面向过程占用略大 , 性能略低 。
利用面向过程的语言的结构体和指针完全可以模拟面向对象的过程 。而面向对象的语言就是把这部分代码抽象化了 , 提供了代码的利用率 。我个人觉得面向过程能解决的简单单次问题就面向过程解决 。如果要反复用 , 参数会有变化的代码 , 那就模块化 , 用面向对象 。
【面向对象和面向过程是编程语言的分类依据吗,面向对象编程与面向过程编程的区别-】Tags:
推荐阅读
- |去美容店接狗子,结果人和狗都懵了
- 颜真卿与柳公权的书法艺术,颜真卿的书法和柳公权的书法有什么之美誉-
- 黄景瑜和谁是男cp,黄景瑜和谁是一对-
- 文成公主和亲是在什么时期?
- 主持词开场白和结束语都有哪些?
- 钻石|2022年文玩圈价格跌幅榜单!千万别再高价买入了,都是血和泪啊!
- 奚望|39岁知名男星官宣离婚!与小9岁妻子和平分手,3岁女儿共同抚养
- 教你如何保湿和自我调节 6岁看嘴唇能看出身体有毒吗?排毒养颜美食推荐排毒
- 贾乃亮和李小璐什么时候在一起,李小璐和贾乃亮怎么了原因-
- 西方人为什么忌讳“13”这个数字?