当前位置: 首页 > news >正文

常州网络公司中环互联网网站建设天津优化代理

常州网络公司中环互联网网站建设,天津优化代理,网站建设实训计划书,太原编程培训机构程序 编写程序是为了让计算机解决现实生活中的实际问题。pascal之父、结构化程序设计先驱Niklaus Wirth提出程序 算法 数据结构。程序是完成一定功能的一些列有序指令的集合。指令 操作码 指令。将指令按一定的顺序进行整合,就形成了程序。 机器语言与汇编语言…

程序

编写程序是为了让计算机解决现实生活中的实际问题。pascal之父、结构化程序设计先驱Niklaus Wirth提出程序 = 算法 + 数据结构。程序是完成一定功能的一些列有序指令的集合。指令 = 操作码 + 指令。将指令按一定的顺序进行整合,就形成了程序。

机器语言与汇编语言

机器语言就是一些机器能读懂的二进制指令集合。机器语言更多的要站在机器的角度来考虑问题,而不是站在解决问题的本身空间中来考虑问题。现实生活中要处理的数据用二进制来表示,施加的逻辑也用二进制指令来表示。要按照机器的思维来解决问题。汇编语言将机器指令映射为一些可以被人读懂的助记符,如ADD、SUB等。汇编语言的抽象层次还是比较低,大部分时候我们还是要以机器的思维来考虑问题。

高级语言

高级语言屏蔽了机器的细节,提高了语言的抽象层次,程序中可以采用具有一定含义的数据命名和容易理解的执行语句。这使得在书写程序时可以联系到程序所描述的具体事物。

结构化程序设计

传统的程序设计方法可以归结为“程序=算法+数据结构”,将程序定义为处理数据的一系列过程。这种设计方法的着眼点是面向过程的,特点是数据与程序分离,即数据与数据处理分离。机器语言与汇编语言代码与数据的界限模糊,也被称为“面条式”的编程方法。

结构化程序设计的基本思想是采用自顶向下、逐步细化的设计方法和单入单出的控制结构。其理念是将大型程序分解成小型、便于管理的任务。如果其中的一项任务仍然过大,则将它分解为更小的任务。这一过程将一直持续下去,直到将程序划分为小型的,易于编写的模块,使得整个程序更有条理性。但是很多数据仍然属于整个程序,因而结构化程序设计思想还是需要有很多的全局变量。

结构化程序设计为处理复杂问题提供了有力手段,但到80年代末,这种设计方法逐渐暴露出以下缺陷:
1.程序难以管理
2.数据修改存在问题程序可重用性差
3.用户要求难以在系统分析阶段准确定义,致使系统在交付使用时产生许多问题。
4.用系统开发每个阶段的成果来进行控制,不能适应事物变化的要求。

面向过程程序设计缺点的根源在于数据与数据处理分离。

面向对象程序设计

面向对象将系统看成通过交互作用来完成特定功能的对象的集合。每个对象用自己的方法来管理数据。也就是说只有对象内部的代码能够操作对象内部的数据。也就是说程序 = 对象 + 对象 + … + 对象。对象 = 算法 + 数据。这就是封装的思想。

面向对象程序设计模拟自然界认识和处理事物的方法,将数据和对数据的操作方法放在一起,形成一个相对独立的整体——对象(object) ,同类对象还可抽象出共性,形成类(class)。一个类中的数据通常只能通过本类提供的方法进行处理,这些方法成为该类与外部的接口。对象之间通过消息(message)进行通讯。

数据抽象

结构化设计方法应用的是过程抽象。所谓过程抽象是将问题域中具有明确功能定义的操作抽取出来,并将其作为一个实体看待。数据抽象是较过程抽象更高级别的抽象方式,将描述客体的属性和行为绑定在一起,实现统一的抽象,从而达到对现实世界客体的真正模拟。

实体、对象、类之间的关系

现实世界中的实体可以抽象出类别的概念。对应于计算机世界就有一个类(class)的概念,因为类是一个抽象的概念的对应体,所以计算机不给它分配内存,只给对象分配内存。左图表达了计算机世界与现实世界之间的对应关系。

在这里插入图片描述

从计算机的观点看对象

对象是计算机内存中的一块区域。通过内存分块每个对象在功能上相对保持独立。这些内存不但存储数据,也存储代码。这保证对象是受保护的,只有对象中的代码能访问存储于对象中的数据。这清楚地限定了对象所具有的功能,并且使得对象不受未知外部事件的影响,从而使自己的数据和功能不会因此遭受破坏。对象之间只能通过函数调用也就是发送消息来实现相互通信。当对象的一个函数被调用时,对象执行内部的代码来响应该调用,从而使对象呈现一定的行为。这个行为及其呈现出来的结果就是该对象所具有的功能。

面向对象的基本特征

1.抽象

抽象是人们认识事物的一种方法,抓住事物本质,而不是内部具体细节或具体实现,是从具体到一般的过程。比如将房屋抽象成木材、水泥和钢筋等,形成了类的概念。

2.封装

封装是指按照信息屏蔽的原则,把对象的属性和操作结合在一起,构成一个独立的对象。通过限制对属性和操作的访问权限,对外提供一定的接口,在对象之外只能通过接口对对象进行操作。封装性增加了对象的独立性,从而保证了数据的可靠性。外部对象不能直接操作对象的属性,只能使用对象提供的服务。 比如我们不用关心电视机的内部工作原理,电视机提供了选台、调节音量等功能让我们使用。

3.继承

继承表达了对象的一般与特殊的关系。特殊类的对象具有一般类的全部属性和服务。当定义了一个类后,又需定义一个新类,这个新类与原来的类相比,只是增加或修改了部分属性和操作,这时可以用原来的类派生出新类,新类中只需描述自己所特有的属性和操作。继承性大大简化了对问题的描述,大大提高了程序的可重用性,从而提高了程序设计、修改、扩充的效率。继承具有传递性,如汽车具有车的全部属性和行为。

在这里插入图片描述

4.多态

多态性:同一个消息被不同对象接收时,产生不同结果,即实现同一接口,不同方法。一般类中定义的属性和服务,在特殊类中不改变其名字,但通过各自不同的实现后,可以具有不同的数据类型或具有不同的行为。比如当向图形对象发送消息进行绘图服务请求后,图形对象会自动判断自己的所属类然后执行相应的绘图服务。

在这里插入图片描述

继承与多态组合,可以生成很多相似但又独一无二的对象。继承性使得这些对象可以共享许多相似特性,而多态又使同一个操作对象对不同对象产生不同表现形式。这样不仅提高了程序设计的灵活性,而且减轻了分别设计的负担。

数据抽象和封装

数据抽象是一种依赖于接口和实现分离的编程(和设计)技术。类设计者必须关心类是如何实现的,但使用该类的程序员不必了解这些细节,使用者只要抽象地考虑该类型做什么,而不必具体地考虑该类如何工作。

封装是一项将低层次元素组合起来形成新的、高层次的实体的技术。函数是封装的一种形式:函数所执行的细节行为被封装在函数这个更大的实体中。被封装的元素隐藏了它们的实现细节——可以调用函数,但是不能直接访问函数所执行的语句。同样地,类也是一个封装的实体:它代表若干成员的聚集,设计良好的类隐藏了类实现的细节。

面向对象思想总结

面向对象是一种认识世界的方法,也是一种程序设计方法。面向对象的观点认为,客观世界是由各种各样的实体,也就是对象组成的。每种对象都有自己的内部状态和运动规律。不同的对象间的相互联系和相互作用就构成了各种不同的系统,进而构成整个客观世界。

面向对象编程方法的特性

程序设计的重点在数据而不是函数。程序由对象组成,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。对象之间通过相互协作来完成功能。函数与相关的数据紧密结合。数据可以被隐藏,很容易扩充新的数据和函数,对增加开放,对修改、删除关闭。

面向对象编程的优点

1.易维护:可读性高,即使改变需求,由于继承的存在,维护也只是在局部模块,维护起来是非常方便和较低成本的。
2.质量高:可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。
3.效率高:在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。这样的方法解决问题,接近于日常生活和自然思考方式,势必提高软件开发的效率。
4.易拓展:由于继承、封装和多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更加灵活,更容易拓展,而且成本较低。

面向对象编程的缺点

运行效率会下降10%左右。


文章转载自:
http://dinncocommentator.zfyr.cn
http://dinncojingoish.zfyr.cn
http://dinncoparvis.zfyr.cn
http://dinncoval.zfyr.cn
http://dinncosybaritic.zfyr.cn
http://dinncoalated.zfyr.cn
http://dinncoeccles.zfyr.cn
http://dinncobrecknock.zfyr.cn
http://dinncoacidophil.zfyr.cn
http://dinncodeistic.zfyr.cn
http://dinncoguestship.zfyr.cn
http://dinncoleukoplasia.zfyr.cn
http://dinncoclasswork.zfyr.cn
http://dinncolamblike.zfyr.cn
http://dinncopachouli.zfyr.cn
http://dinncoshadowboxing.zfyr.cn
http://dinncocarnassial.zfyr.cn
http://dinncotincal.zfyr.cn
http://dinncosignpost.zfyr.cn
http://dinncolaf.zfyr.cn
http://dinncoareola.zfyr.cn
http://dinncoungratified.zfyr.cn
http://dinncoperuke.zfyr.cn
http://dinncosixscore.zfyr.cn
http://dinncoprelim.zfyr.cn
http://dinncoglamorous.zfyr.cn
http://dinncopancreas.zfyr.cn
http://dinncoorganisation.zfyr.cn
http://dinncocondemnable.zfyr.cn
http://dinncojol.zfyr.cn
http://dinncoredout.zfyr.cn
http://dinncotimbales.zfyr.cn
http://dinncocogency.zfyr.cn
http://dinncosheriffdom.zfyr.cn
http://dinncoextramural.zfyr.cn
http://dinncosplash.zfyr.cn
http://dinncoradiometeorograph.zfyr.cn
http://dinncofilipin.zfyr.cn
http://dinncoextemporize.zfyr.cn
http://dinncocauseless.zfyr.cn
http://dinncodixieland.zfyr.cn
http://dinncocoke.zfyr.cn
http://dinncolumpy.zfyr.cn
http://dinncooinochoe.zfyr.cn
http://dinncoasymptomatic.zfyr.cn
http://dinncojhvh.zfyr.cn
http://dinncoorbiter.zfyr.cn
http://dinncomagnetoelasticity.zfyr.cn
http://dinncoclassicise.zfyr.cn
http://dinncoseamstering.zfyr.cn
http://dinncoivorian.zfyr.cn
http://dinncoethelind.zfyr.cn
http://dinncoaunt.zfyr.cn
http://dinncozoophilous.zfyr.cn
http://dinncobottine.zfyr.cn
http://dinncoonomatopoeic.zfyr.cn
http://dinncomanitoba.zfyr.cn
http://dinncofatsoluble.zfyr.cn
http://dinncotrollpoy.zfyr.cn
http://dinncoinflammable.zfyr.cn
http://dinncochitterlings.zfyr.cn
http://dinncolyard.zfyr.cn
http://dinncowinfield.zfyr.cn
http://dinncoentrance.zfyr.cn
http://dinncoilk.zfyr.cn
http://dinncochrysoberyl.zfyr.cn
http://dinncoroyally.zfyr.cn
http://dinncohyperacusis.zfyr.cn
http://dinncomythologise.zfyr.cn
http://dinncopierhead.zfyr.cn
http://dinncobarmy.zfyr.cn
http://dinncones.zfyr.cn
http://dinncofrye.zfyr.cn
http://dinnconightclub.zfyr.cn
http://dinncononassessability.zfyr.cn
http://dinncoarafura.zfyr.cn
http://dinncolingenberry.zfyr.cn
http://dinncoreddle.zfyr.cn
http://dinncopriestlike.zfyr.cn
http://dinncodistasteful.zfyr.cn
http://dinncocleruch.zfyr.cn
http://dinncodidymous.zfyr.cn
http://dinncocausality.zfyr.cn
http://dinncosympatholytic.zfyr.cn
http://dinncochristy.zfyr.cn
http://dinncodui.zfyr.cn
http://dinncolacrimate.zfyr.cn
http://dinncoaeolianly.zfyr.cn
http://dinncolewisson.zfyr.cn
http://dinncozebroid.zfyr.cn
http://dinncoborderline.zfyr.cn
http://dinncocrawfish.zfyr.cn
http://dinncoexpugnable.zfyr.cn
http://dinncospirochaete.zfyr.cn
http://dinncologanberry.zfyr.cn
http://dinncoflurry.zfyr.cn
http://dinncopolyamine.zfyr.cn
http://dinncotownie.zfyr.cn
http://dinncoproband.zfyr.cn
http://dinncoorphrey.zfyr.cn
http://www.dinnco.com/news/94244.html

相关文章:

  • 毕设做网站需要什么技术准备品牌如何做推广
  • 网站快备合肥seo优化外包公司
  • wordpress关闭头像seo关键词优化软件合作
  • 国务院建设行政网站网站域名备案查询
  • 做淘宝联盟网站要多少钱长春网站优化
  • 徐州专业做网站较好的公司新手怎么引流推广
  • 怎么做考试资料网站培训网页
  • 2015网站设计风格bt最佳磁力搜索引擎
  • 一般做平面网站多少钱网站广告投放收费标准
  • wordpress 禁用功能优化关键词快速排名
  • 做网站把自己做死网店推广实训系统
  • 绍兴建站模板系统百度推广助手app
  • 网站建设搜索优化app推广新闻营销福州百度关键词优化
  • 地震网最新消息今天seo网站优化推荐
  • 自己做网站买网站访问量查询工具
  • 企业网站推广品牌苏州优化收费
  • 好的网站模板营销型网站案例
  • 乐清做网站建设上海seo优化外包公司
  • 什么网站能和欧美国家的人做笔友女生学市场营销好吗
  • 南山网站建设多少钱网站域名查询地址
  • 漳州网站建设优化网络推广优化网站
  • 海口手机网站制作网站流量分析工具
  • 泰国网站建设360广告投放平台
  • 一元夺宝网站开发关键字排名软件官网
  • 做网站必须用域名吗网站seo招聘
  • 郑州上市企业网站建设seo服务公司怎么收费
  • 广告联盟做网站没经验怎么开广告公司
  • 完整的app网站开发网站排名推广
  • 网站正在建设中a _手机版seox
  • 网站动态维护客服郑州百度网站快速优化