c语言面向过程的编程思想,关于面向对象与面向过程编程思想

整理UML之前,我想先把这两种编程思想先说明清楚,因为学到UML离不开的就是面向对象了,而在我的认知看来,有对大多数的程序员其实都不能很好的说清楚面向对象是什么一种样的编程思想,与面向过程又有什么区别。我就想就我最近的学习去分享一下。

面向过程

面向过程是早期的程序员们对编程的一种思想理念,编程语言也因为这种编程的思想被设计成对应的使用,比如c语言、vb等,早期的语言,都是面向过程的语言。

面向过程的编程思想认为,世界是一个相互关联的小系统组成的,每个系统有明确的象征过程一样的明确开始和明确结束的属性,开始和结束之间有严谨的因果关系,,一个个小系统能够组成一个更大的系统整体,就是这个世界。

对于面向过程编程,我们需要做的是使用计算机来模拟它,将这一个个小系统中的每个步骤和影响分析出来,找到开始和结束点,将这个过程描绘出来,把他们之间的因果关系都定义出来,再通过结构化的设计方法,将这些过程细化,形成可以控制的较小的范围。通常,面向过程的分析方法就是找到过程的起点,然后顺藤摘瓜,分析每个部分,直至达到过程的终点。这个过程每个部分都是过程链上不可分割的一环。

面向过程的困难点:

主要问题得本质在于,我们认为一切都是一个过程化的,我们企图用过程来描述一切事物。当过程变得不可预测或者说各个小系统之间的因果关系错综复杂的时候,程序员需要考虑的东西就会变得很多,很复杂,过程不再稳定,结果不可预测,人们的精力有限,没办法完全把控不可预测的过程,这时候面向过程的编程就会变得相当困难,甚至无法模拟出来这个过程。

面向对象

面向对象编程的思想是将世界看作一个个相互独立的对象,相互之间没有因果关系,平时不会相关联,只有在某个外力的驱动下,才会依据某种规律相互传递消息,这些交互构成了这个世界的"过程",没有"外力"的作用下,对象会保持静止的状态。

关于面向对象编程的思想的描述

从微观角度来说,面向对象编程认为世界是一个个对象,万物皆对象。这些对象有着一系列特性:

比如封装,就是对象有着自己的外壳,除了对外暴露的某些属性可以访问外,其他属性没有暴露出去,都不能访问的,这就是封装。

对象可以结合在一起形成新的对象,结合后的对象具有两者之间属性的综合,这就是聚合.

对象可以繁衍出子对象,子对象除了具备父对象的全部本领和功法,还能更自己改造,功法更上一层楼,这就是继承。

每个对象都有多个外貌,不同情况可以展现不同的外貌,但本质只有一个,那就是接口。

同时,多个对象可能长着相同的面具,但面具背后都是不同的脸,这就是多态。

从宏观的角度来说的话,对象不清楚自己自己所处在的是什么环境。但他知道自己能够联系一些其他的对象,这成为依赖,与对象之间会保持着信息数据的交流,这叫做耦合。同时,对象也会有自己的"小秘密",对于其他对象是不能告知也不会知道的,会为这些密码划一块领地,这叫做类属性。只允许通过小方法才能访问得到,这叫做方法。

对象喜欢群居在一起,正所谓,物以类聚,人以群分。这些对象都具有一些相似的属性,依靠这些属性,组成一个部落,这就是抽象。

面向对象还有一个很重要的特性,就是能够复用,复用是一个很泛的概念,小到对象属性,方法,代码,数据结构,大到基本的思想。我们在面向对象编程中,都可以很好的实现复用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值