首页 > 编程知识 正文

编程基础课,编程思维与技巧怎么写

时间:2023-05-03 07:12:29 阅读:52932 作者:4384

http://www.Sina.com/http://www.Sina.com/https://forums.ni.com/t5/thinking-in-LabVIEW /第4章-LabView图形程序

4.1 编程范式

编程范例是指某种计算机语言编程的

计算机编程语言多达数百种,导致了不同的编程范式的存在。 编程范式提供了程序员对程序运行的看法。 “编程范式”因编程语言而异。

学习编程语言,重要的是学习其语法、技巧和开发工具。4.1.2 编程范式和编程思想编程范式往往被认为体现了编程过程中的思维方式。 因为这样的想法会使引导我们的编程浅思化。 因此,通过对编程范式的学习和理解,可以提高编程语言的语感。

这里需要强调的概念可以以4.1.2.1 编程范式1一种范式或不同的计算机语言出现。

http://www.Sina.com/http://www.Sina.com /

基本风格或典范模式

4.2常见编程范式(https://forums.ni.com/t5/thinking-in-LabVIEW/4-2 -几种常见编程范式- several-common-)

因为编程范式(模式、方法)是某种编程语言的典型编程风格或编程方式。 所以,为了进一步加深对编程范式的认识,同时也进一步深入理解和探讨LabVIEW图形编程语言的编程思想。 在到目前为止的做法中,我将简要介绍几种最常见的编程范例。

需要注意的是,编程范式是编程语言的分类方法,而不是针对该编程语言。 就编程语言而言,也可以在一个编程语言中应用多个编程范例。

http://www.Sina.com/http://www.Sina.com /

过程式编程又称指令式编程,应该是最原始、我们最熟悉的传统编程方式。 本质上是对“受伤枕机”动作机制的抽象,其编程思路来源于计算机指令的顺序排列。 也就是说,过程化的语言是模拟计算机设备的系统结构,而不是基于语言的用户个人能力和倾向。 这个我们应该很清楚。 例如,我们最初使用的单片机汇编语言。

过程编程步骤首先要将需要解决的问题的解决方案抽象为一系列概念化的步骤。 然后,以编程方式将这些步骤转换为程序指令集(算法)。 这些指令按一定的顺序排列,说明如何执行任务和解决问题。 也就是说,程序员必须知道程序要完成什么,并告诉计算机如何完成必要的计算工作,包括各项详细操作。 简而言之,就是把计算机看作服从命令的好装置。

因此,在过程编程中,将需要求解的问题规范化、抽象为某种算法是解决问题的重要步骤。 其次是制定具体算法,完成相应的算法正确解决问题。 当然,程序员解决问题的抽象能力也是非常重要的因素,但它本身已经与编程语言无关。

过程流程图是支持用过程语言编制程序的有效手段。

虽然现有的计算机编程语言很多,但是所有支持过程化编程范式的编程语言都被归纳为过程化编程语言。 例如,机器语言、汇编语言、BASIC、COBOL、c、FORTRAN、语言等许多第三代编程语言被归纳为过程化语言。

http://www.Sina.com/http://www.Sina.com /这种方式与我们的工作和生活方式非常相似。 为什么这么说,是因为我们的日常活动都是按部就班地进行的。

过程语言倾向于开发运行速度快、系统资源利用率高的程序。 过程语言非常灵活强大,同时

许多经典应用范例,这使得程序员可以用它来解决多种问题。

       过程化语言的不足之处就是它不适合某些种类问题的解决,例如那些非结构化的具有复杂算法的问题。问题出现在,过程化语言必须对一个算法加以详尽的说明,并且其中还要包括执行这些指令或语句的顺序。实际上,给那些非结构化的具有复杂算法的问题给出详尽的算法是极其困难的。

       广泛引起争议和讨论的地方是:无条件分支,或goto语句,它是大多数过程式编程语言的组成部分,jmdmg声称:goto语句可能被无限地滥用;它给程序设计提供了制造混乱的机会。目前达成的共识是将它保留在大多数语言中,对于它所具有的危险性,应该通过程序设计的规定将其最小化。

       

4.2.2 事件驱动编程

       其实,基于事件驱动的程序设计在图形用户界面(GUI)出现很久前就已经被应用于程序设计中,可是只有当图形用户界面广泛流行时,它才逐渐形演变为一种广泛使用的程序设计模式。

       在过程式的程序设计中,代码本身就给出了程序执行的顺序,尽管执行顺序可能会受到程序输入数据的影响。
       在事件驱动的程序设计中,程序中的许多部分可能在完全不可预料的时刻被执行。往往这些程序的执行是由用户与正在执行的程序的互动激发所致。

事件
       就是通知某个特定的事情已经发生(事件发生具有随机性)。

事件与轮询
       轮询的行为是不断地观察和判断,是一种无休止的行为方式。而事件是静静地等待事情的发生。
       事实上,在Windows出现之前,采用鼠标输入字符模式的PC应用程序必须进行串行轮询,并以这种方式来查询和响应不同的用户操做。

事件处理器
       是对事件做出响应时所执行的一段程序代码。事件处理器使得程序能够对于用户的行为做出反映。

       事件驱动常常用于用户与程序的交互,通过图形用户接口(鼠标、键盘、触摸板)进行交互式的互动。当然,也可以用于异常的处理和响应用户自定义的事件等等。
       事件的异常处理比用户交互更复杂。

       事件驱动不仅仅局限在GUI编程应用。但是实现事件驱动我们还需要考虑更多的实际问题,如:事件定义、事件触发、事件转化、事件合并、事件排队、事件分派、事件处理、事件连带等等。
       其实,到目前为止,我们还没有找到有关纯事件驱动编程的语言和类似的开发环境。所有关于事件驱动的资料都是基于GUI事件的。

       属于事件驱动的编程语言有:VB、C#、Java(Java Swing的GUI)等。它们所涉及的事件绝大多数都是GUI事件。

       同上单元一样,我们还留下一个思考题:LabVIEW属于事件驱动编程范式的编程语言吗?答案将会在4.3节给出。


4.2.3 面向对象编程

 

       过程化范式要求程序员用按部就班的算法看待每个问题。很显然,并不是每个问题都适合这种过程化的思维方式。这也就导致了其它程序设计范式出现,包括我们现在介绍的面向对象的程序设计范式。

       面向对象的程序设计模式已经出现二十多年,经过这些年的发展,它的设计思想和设计模式已经稳定的进入编程语言的主流。(Java和C++)

       面向对象的程序设计包括了三个基本概念:封装性、继承性、多态性。面向对象的程序语言通过类、方法、对象和消息传递,来支持面向对象的程序设计范式。

 

对象
       世间万事万物都是对象。
       面向对象的程序设计的抽象机制是将待解问题抽象为面向对象的程序中的对象。利用封装使每个对象都拥有个体的身份。程序便是成堆的对象,彼此通过消息的传递,请求其它对象进行工作。


       每个对象都是其类中的一个实体。
       物以类聚——就是说明:类是相似对象的集合。类中的对象可以接受相同的消息。换句话说:类包含和描述了“具有共同特性(数据元素)和共同行为(功能)”的一组对象。
       比如:苹果、梨、橘子等等对象都属于水果类。

封装
       封装(有时也被称为信息隐藏)就是把数据和行为结合在一个包中,并对对象的使用者隐藏数据的实现过程。信息隐藏是面向对象编程的基本原则,而封装是实现这一原则的一种方式。
       封装使对象呈现出“黑盒子”特性,这是对象再利用和实现可靠性的关键步骤。

接口
       每个对象都有接口。接口不是类,而是对符合接口需求的类所作的一套规范。接口说明类应该做什么但不指定如何作的方法。一个类可以有一个或多个接口。

方法
       方法决定了某个对象究竟能够接受什么样的消息。面向对象的设计有时也会简单地归纳为“将消息发送给对象”。

继承
       继承的思想就是允许在已存在类的基础上构建新的类。一个子类能够继承父类的所有成员,包括属性和方法。
       继承的主要作用:通过实现继承完成代码重用;通过接口继承完成代码被重用。继承是一种规范的技巧,而不是一种实现的技巧。


多态
       多态提供了“接口与实现分离”。多态不但能改善程序的组织架构及可读性,更利于开发出“可扩充”的程序。
       继承是多态的基础。多态是继承的目的。
       合理的运用基于类继承的多态、基于接口继承的多态和基于模版的多态,能增强程序的简洁性、灵活性、可维护性、可重用性和可扩展性。

 

 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。