计算机编程思想的

点赞:22540 浏览:105542 近期更新时间:2024-04-17 作者:网友分享原创网站原创

摘 要:在计算机编程技术发展过程中出现三种编程思想——面向过程、面向对象和面向方面.对面向过程、面向对象和面向方面三种编程思想的核心理念、相关概念、优缺点及适用性进行分析.

关 键 词:计算机编程思想,面向过程,面向对象,面向方面

计算机技术产生于二十世纪四十年代,随着软硬件水平的飞速发展和应用范围的扩大,计算机编程思想也历经变化,先后出现了面向过程编程、面向对象编程和面向方面编程这几种编程思想,它们的产生对软件技术的发展起了深远的影响[1].

1面向过程编程

面向过程编程,又称为结构化编程,C、Pascal和Fortran

语言均采用面向过程编程思想.

面向过程编程关注的是解决问题的步骤,先把软件系统分解成多个模块,然后逐步细化,完成整个软件系统.各模块之间存在相互调用和信息传递.

面向过程编程的思维方式易于理解,条理清晰,曾被广泛应用,但随着软件系统规模的扩大和性能要求的提高,面向过程编程的缺陷日益明显.软件系统规模的扩大,使得模块的分解难度加大,模块之间的联系也更加复杂,软件的可靠性难以提高,可维护性差.

计算机编程思想的参考属性评定
有关论文范文主题研究: 关于计算机编程的论文范文集 大学生适用: 硕士论文、学院论文
相关参考文献下载数量: 99 写作解决问题: 如何怎么撰写
毕业论文开题报告: 文献综述、论文结论 职称论文适用: 核心期刊、职称评中级
所属大学生专业类别: 如何怎么撰写 论文题目推荐度: 免费选题

2面向对象编程

在20世纪90年代,面向对象编程(OOP)逐步代替了面向过程编程.迄今为止,面向对象成为了主流的编程思想,已经发展到相当成熟的阶段.典型的采用面向对象编程思想的开发语言有C++、Pascal等.

所谓面向对象就是在处理问题时,从该问题所存在的事物本身出发,以类及对象作为基本构造单元,逐步认识事物的属性和行为特征.面向对象的分析过程是人类认识客观世界的过程,更接近于人类思维的方式.

面向对象编程的主要概念如下:

1)对象(object):对象是对客观事物的一个实体的描述,是构成系统的一个基本单位,是分析问题的基准.

2)类(class):类是具有相同属性和怎么写作的一组对象的集合,对属于该类的对象集合提供了统一的抽象描述,内部包括属性和行为两个主要部分.简言之,类是对对象的抽象,而对象是类的实例化.

3)抽象(abstract):抽象是面向对象编程思想的基本的原则之一,是对一类对象中所共有的属性和行为特征的提取.抽象包括数据抽象和行为抽象,数据抽象是指对该类对象的公共属性的抽象,行为抽象是指对该类对象可进行的公共操作的抽象.

4)封装(encapsulation):封装是采用类机制将类的属性和行为进行捆绑,成为一个整体,使得类的内涵丰富而便于使用.

5)继承(inheritance):继承是指子类不但具备父类的属性和行为,还可以具备自身独有的属性和行为,子类的所有属性和行为还可以被它自身的子类继承下去,子类与父类间的继承关系呈现出的层次结构体现出现实世界中不同类型对象的之间的共性和个性关系,因此继承可以解决软件的可重用性问题,简化了程序设计.

6)多态(polymorphi):多态是指具有继承关系的类可以使用同名行为,但行为内涵可以具有不同的定义,不同的对象将会根据自己所属的类来选择在实际运行中所使用的具体行为.多态性机制增加了面向对象软件系统的灵活性,提高了软件的可重用性和可扩充性.

面向过程与面向对象的编程思想最根本的区别在于:前者从操作步骤出发,着重于对操作步骤地分解,将各个操作整合为模块,从而组成整个系统,而后者编程角度从对所处理的事物出发,着重于对事物的属性和行为的抽象,以及不同类型事物之间的共性和个性[2].

较面向过程编程相比,面向对象编程可以描述更复杂、更接近现实的系统,描述方法灵活,具备良好的可重用性和可扩展性,提高了软件系统的质量和开发效率,保证了对系统项目的有效管理.

但在实际过程中,面向对象编程的缺陷也不容忽视,主要表现为代码散乱和代码纠缠.面向对象的首要工作是对所关注对象的界定,也就是类的设计,要给出类的属性和行为.但在现实过程中,常常会遇到横跨多个不相关模块的公共行为,如记录日志、异常处理、安全控制等等,即横切关注点.系统中频繁出现的横切关注点致使代码散乱,而横切关注点之间的关联又致使代码纠缠.代码散乱和代码纠缠使得面向对象编程的系统结构混乱,难以维护和扩展,降低了软件系统的质量.

3面向方面编程

面向方面编程(AOP)的概念是GregorKiczales在XeroxParc团队于20世纪90年代后期提出的,Filman与Friedman在2000年在OOPSLA关于分离关注点的讨论会上给出了得到公认的面向方面的定义.虽然面向方面编程还处于不完善的阶段,但它已经受到了广泛的关注.目前,采用面向方面编程思想的语言有许多种,如AspectC++、AspectJ等等[3].

面向方面编程将软件系统中的所有业务逻辑分为核心关注点(CodeConcerns)和横切关注点(CrosscuttingConcerns),核心关注点处理系统中的独立的核心业务,横切关注点处理系统中的相对独立的非核心业务,横切关注点所涉及的业务功能在系统不同位置被多次使用.面向方面编程认为不需要在代码中显式调用横切关注点,而只要指定加入横切关注点的位置,那么系统在运行时自动执行横切关注点的业务功能.

面向方面编程的主要概念如下:

1)关注点(concern):关注点是指对特定业务的处理.软件系统是所有核心关注点和横切关注点的组合,在编码时分别实现,在运行时重新组合起来.软件系统中的关注点分为核心关注点和横切关注点.

2)方面(Aspect):方面类似于面向对象编程中的类,但内涵更丰富.它将切入点和通知结合在一起,用于描述横切关注点.

3)通知(Advice):通知是位于方面中修改行为或属性的代码.方面可以在特定条件下将通知嵌入特定位置,从而达到横切的目的.通知分为三种,before通知、after通知和around通知,分别表示操作是在连接点之前、之后或代替连接点.