程序设计方法
  • 更新时间:2024-09-27 10:18:30
  • 网站建设
  • 发布时间:1年前
  • 327

网站制作的节目就像一部电影。好的和坏的之间有很大的区别。一部好电影能让人想再看一遍,但一部烂电影却很少有人看。好的程序不仅能解决问题,而且还具有通俗易懂、运行效率高、易于修改等特点。所以。如何写出好的程序?这是程序员在编程前必须考虑的问题,即需要选择合适的编程方式。

程序设计

随着计算机硬件技术的不断发展,编程方法也在不断发展。最早的编程方式叫做个体化方式,每个程序员按照自己的习惯和风格来编写程序,其结果是程序难以维护。特别是对于较大的程序。个性化的方法导致程序的生命周期缩短。成本增加了,不能满足需要。经过计算机工作者的努力,编程方法不断改进。在过去的几十年里,编程方法主要经历了两次革命性的飞跃:结构化方法和面向对象方法。相应地,产生了面向过程编程和面向对象编程。下面分别介绍结构化方法(Structured Method)和面向对象方法(Object-OrientedMethod)。

结构化程序设计,曾被誉为“程序设计方法的革命”,使程序设计从主要依靠程序员的自由活动,转变为一门有规律可循的科学。它的主要贡献是推动了编程风格从“追求技巧和效率”向“清晰第一,效率第二”的转变。这提高了程序的易读性和可靠性。 1976年,瑞士的Nikiaus Wirth教授在他的经典著作《算法十数据结构二程序》序言中指出,“程序是基于数据的某些特定表示和结构,对算法进行抽象的具体描述”。 "如果不了解应用于数据的算法,就不可能决定如何形成数据;相反,算法的结构和选择往往在很大程度上取决于底层数据结构。简而言之,程序组成和数据结构是两个密不可分的问题。”

Worth 的讨论精彩地总结了当时算法和数据结构在编程中的地位和相互关系。 《算法+数据结构两种方案》。它影响和引导了一代又一代的程序员。从早期的编程语言Fortran、Cobol、ADA、Pascal到现代的C语言,都是面向过程的,都有一个特点:在分析或设计软件时,开发者总是遵循“程序二次数据结构” 10 “算法”的思想。程序理解为由一组被动数据和一组主动进程组成,这样的编程方式称为面向过程的编程方式。

结构化程序设计的普及促进了软件生产的产业化,缓解了当时的软件危机。但是,其面向过程的编程思想并不适合日益复杂的应用系统。实践表明,用结构化技术处理代码在5000行以内的软件确实非常有效,但面对当今大型软件产品的复杂性。但还是无能为力。但是,在客观事物中,实体内部的“状态”(用数据表示)和“运动”(对数据的操作)是结合在一起的。这使得使用传统范式开发的软件模型(称为“解决方案域”)人为地偏离了客观实体本身的模型(称为“问题空间”,Problem domain)。因此,面向对象的方法应运而生。

在面向对象编程中,数据及其操作被封装在称为“对象”的实体中,对象之间通过“消息”相互连接。该机制取代了“数据结构+算法”的思想,从而更好地实现了“解空间”和“问题空间”的一致性,为解决软件危机带来了新的希望,从结构化编程到面向对象的先进程序设计是程序设计方法的又一次飞跃,其优越性在软件开发和维护中日益显现。

面向对象的思想最初起源于20世纪60年代中期的模拟编程语言Simula 67。 20世纪80年代初出现的Smalltalk语言和1990年代推出的C++、Java语言及其编程环境,成为面向对象技术发展的重要里程碑。 20世纪80年代末以来,面向对象程序设计和面向对象需求分析都得到迅速发展,特别是20世纪90年代中期,Booch、Rumbaugh和Jacobon共同提出了统一建模语言(Unified Modeling Language,CML)。许多面向对象的方法被集成到一个标准中,使得面向对象的方法成为主流的编程方法。

(1)对象((Object),对象是现实世界中个体或事物的抽象表示,是对其属性和相关操作的统一封装。属性表示对象的性质,属性值指定对象所有可能的状态,对象的操作是指对象可以对外展示的服务,比如把卡车看成一个对象,它有位置、速度、颜色、容量等属性。因为可以对对象进行启动、停止、加速和维护。操作将是或更多

或少地改变卡车的属性值。

(2)类(Class)。类用于表示某些对象的共同特征(属性和操作),对象是类的实例。例如,汽车类可包含位置、速度、颜色等属性,以及启动、停车、加速等操作。卡车是汽车类的一个实例。

(3)继承(Inheritance)类之间可以存在继承关系,它是现实世界中遗传关系的直接模拟,可用来表示类之间的内在联系以及对属性和操作的共享。子类可以沿用父类(被继承类)的某些特征,同时子类也可以具有自己独有的属性和操作,对于一个类的修改能自动反映到它的所有子类中。例如,飞行器、汽车和轮船都是交通工具类的子类,它们都可以继承交通工具类的某些属性和操作。除继承关系外,现实世界中还大量存在着“部分和整体”关系。例如,飞机可由发动机、机身、机械控制系统、电子控制系统等构成。这种关系在面向对象方法学中可表示为类之间的聚集(Aggregation)关系。在聚集关系下,“部分”类的对象“整体”类对象的一个组成部分。

(4)消息(Message)。消息传递是对象与其外部世界相互关联的唯一途径。对象可以向其他对象发送消息以请求服务,也可以响应其他对象传来的消息,完成自身固有的某些操作,从而服务于其他对象.例如。直升飞机可以响应轮船的海难急救信号,起飞,加速,飞赴出事地点并实施救援作业。 对象的操作主要是用来响应外来消息并为其他对象提供服务的,所以它们也被称作“外部服务”。Coad和Yourdon认为。采用上述4种概念进行开发的软件系统可以认为是面向对象的。为此,他们把面向对象方法归结为一个简单的公式,即面向时象二对象+分类(Classification) +继承+消息通信(Communication withmessages)。

我们专注高端建站,小程序开发、软件系统定制开发、BUG修复、物联网开发、各类API接口对接开发等。十余年开发经验,每一个项目承诺做到满意为止,多一次对比,一定让您多一份收获!

本文章出于推来客官网,转载请表明原文地址:https://www.tlkjt.com/web/12591.html
推荐文章

在线客服

扫码联系客服

3985758

回到顶部