Welcome 微信登录

首页 / 软件开发 / C#

C#的异常处理语句

C#的异常处理语句

C#的异常处理语句2007-09-18 本站 在编写程序时,不仅要关心程序的正常操作,也应该把握在现实世界中可能发生的各类不可预期的事件。比如用户错误的输入、内存不够、磁盘出错、网络资源不可用、数据库无法使用等。在程序中经常采用异常处理方法来解决这类现实问题。C#中的异常处理提供了一种处理系统级错误和应用程序级错误的结构化的、统一的、类型安全的方法。C#的异常机制与C++非常相似,除了以下几点不同之外:●在C#里,所有异常都表现为一个类的实例,这个类继承自...
C#的流程控制

C#的流程控制

C#的流程控制2007-09-18 本站 到目前为止,我们的程序还只能按照编写的顺序执行,中途不能发生任何变化。然而,实际生活中并非所有的事情都是按部就班地进行,程序也是一样。为了适应自己的需要,我们经常必须要转移或者改变程序执行的顺序,达到这些目的的语句叫做流程控制语句。和大多数编程语言相似,在程序模块中,C#可以通过条件语句控制程序的流程,从而形成程序的分支和循环。C#中提供了以下控制关键字:●选择控制:if、else、switch、case●循环控制...
面向对象技术的由来

面向对象技术的由来

面向对象技术的由来2007-09-18 本站 随着计算机硬件技术的飞速发展,计算机的容量、速度迅速提高,计算机取得了越来越广泛的应用,这就对开发提出了更高的要求。然而软件技术的进步却远远滞后于硬件技术的进步,人们常常无法控制软件开发的周期和成本,软件的质量总是不尽人意,经常是用之不灵、弃之可惜,有的软件甚至无法交付。这种状况人们称之为“软件危机”。人们认识到,为了摆脱软件危机,必须按照工程化的原则和方法来组织软件开发工作。二十世纪七...
面向对象的概念

面向对象的概念

面向对象的概念2007-09-18 本站 9.1.1 9.1.2 基本概念可以这样认为:“面向对象=对象+类+继承+通信。”如果一个软件系统是使用这样四个概念来设计和实现的,我们认为这个软件系统是面向对象的。对象(object)对象是面向对象开发方法的基本成分。每个对象可用它本身的一组属性和其上的一组操作来定义。对象可以是现实生活中的一个物理对象,还可以是某一类概念实体的实例。比如,一辆汽车、一个人、一本书,乃至一种语言、一个图形、...
对象模型

对象模型

对象模型2007-09-18 本站 对象模型描述的静态结构,包括类和对象,它们的属性和操作,以及它们之间的关系。构造对象模型的目的在于找出与应用程序密切相关的概念。对象模型用包含对象及对象的关系图表示。图9-1给出了在对象模型中用于表示类和对象的图形符号。使用OMT建立对象模型的主要步骤如下:(1).确定对象类;(2).定义数据词典,用以描述类、属性和关系;(3).用继承组织和简化对象类;(4).测试访问路径;(5).根据对象之间的关系和对象的功能将对象分...
什么是动态模型

什么是动态模型

什么是动态模型2007-09-19 本站 动态模型着重于系统的控制逻辑,考察在任何时候对象及其关系的改变,描述这些涉及时序和改变的状态。动态模型包括状态图和事件跟踪图。状态图是一个状态和事件的网络,侧重于描述每一类对象的动态行为。事件跟踪图则侧重于说明系统执行过程中的一个特点“场景”,也叫做脚本(scenarios),是完成某个功能的一个事件序列。脚本通常起始于一个系统外部的输入事件,结束于一个系统外部的输出事件。对象到对象的单个消...
功能模型

功能模型

功能模型2007-09-19 本站 功能模型着重于系统内部数据的传送和处理。功能模型表明,通过计算,从输出数据能得到什么样的输出数据,但不考虑参加计算的数据按什么时序执行。功能模型由多个数据流图组成,它们指明从外部输出,通过操作和内部存储,直到外部输出的整个流情况。功能模型还包括了对象模型内部数据间的限制。功能模型中的数据流图往往形成一个层次结构,一个数据流图的过程可以由下一层的数据流图作进一步的说明。建立功能模型的主要步骤有:(1).确定输出和输出值;(...
面向对象模型技术

面向对象模型技术

面向对象模型技术2007-09-19 本站 对象模型技术(object modeling technique,OMT)是美国通用电气公司提出的一套开发技术。它以面向对象的思想为基础,通过对问题进行抽象,构造出一组相关的模型,从而能够全面地捕捉问题空间的信息。对象模型技术把分析时收信到的信息构造在三类模型中,即对象模型、功能模型和动态模型。三个模型从不同角度对系统进行描述,分别着重于系统的一个方面,组合起来构成对系统的完整描述。形象的说,功能模型定义&ldq...
论域分析和应用分析

论域分析和应用分析

论域分析和应用分析2007-09-19 本站 面向对象的分析过程可分为两个阶段,即论域分析阶段和应用分析阶段。论域分析论域分析是软件开发的基本组成部分,目的是使开发人员了解空间的组成,建立大致的系统实现环境。论域分析给出一组抽象,从高层表示论域知识,常常超出当前应用的范围,作为特定需求开发的参考。论域分析实际上是一种学习,软件开发人员在这个阶段尽可以地理解当前系统与应用有关的知识。应放开思维,放宽考虑的领域,尽可能标识与应用有关的概念。论域分析的边界可能很...
Coad和Yourdon面向对象的分析过程

Coad和Yourdon面向对象的分析过程

Coad和Yourdon面向对象的分析过程2007-09-19 本站 Coad和Yourdon的方法是建立在信息模型化技术、面向对象的程序设计和知识库系统的基础之上的,方法分为面向对象的分析(OOA)和面向对象的设计(OOD)。我们在这里先讨论Coad和Yourdon面向对象的分析,在下一节中再讨论面向对象的设计。Coad和Yourdon认为面向对象的分析主要应该考虑:一个与特定应用有关的对象,对象与对象在结构和相互作用上的关系。在面向对象的分析中,需要建...
面向对象的高层设计和底层设计

面向对象的高层设计和底层设计

面向对象的高层设计和底层设计2007-09-20 本站 面向对象的设计分为两个阶段,即高层设计和低层设计高层设计高层设计阶段开发系统的结构,构造等开发软件的总体模型。在这个阶段,标识出在具体的计算机环境中进行问题求解所需要的概念,增加了一批需要的类,这些类包括那些使得软件系统能够与外部世界进行交互的类。高层设计阶段的输出是适合应用软件要求的类、类之间的关系及应用子系统的视图规格说明。通常,利用面向对象的设计得到的框架如下图所示。高层设计过程中,应当使子系统...
Coad和Yourdon面向对象的设计过程

Coad和Yourdon面向对象的设计过程

Coad和Yourdon面向对象的设计过程2007-09-20 本站 Coad与Yourdon在设计阶段继续采用面向对象分析阶段中提到的五个层次(对象和类、结构、属性、服务和主题),这有助于从分析到设计的过渡。按照Coad与Yourdon面向对象设计方法,在设计阶段中利用这五个层次,建立系统的四个组成部分:问题论域、用户界面、任务管理和数据管理。问题论域部分的设计问题论域部分包括我们所面对的应用问题直接相关的所有类和对象,这一工作实际上在面向对象的分析阶段...
面向对象的程序设计

面向对象的程序设计

面向对象的程序设计2007-09-20 本站 我们知道,C#源于C和C++。1970年,Brian和Dennis Ritchie首创了C语言,由于其简单灵活的特点,很快成为世界上最流行的语言之一。然而C语言是一个面向过程的程序设计语言。随着软件开发技术的进步,产生了面向对象的程序设计思想,二十世纪八十年代被美国AT&T贝尔实验室设计并实现了C++语言,增加了对面向对象的程序设计的支持。C#秉承了C++面向对象的特性,支持面向对象的所有关键概念:封装...
C#中对类的成员的访问

C#中对类的成员的访问

C#中对类的成员的访问2007-09-21 本站 在编写程序时,我们可以对类的成员使用不同的访问修饰符,从而定义它们的访问级别。公有成员C#中的公有成员提供了类的外部界面,允许类的使用者从外部进行访问。公有成员的修饰符为public,这是限制最少的一种访问方式。私有成员C#中的私有成员仅限于类中的成员可以访问,从类的外部访问私有成员是不合法的。如果在声明中没有出现成员的访问修饰符,按照默认方式成员为私有的。私有成员的修饰符为private。保护成员为了方便...
C#的this保留字

C#的this保留字

C#的this保留字2007-09-21 本站 保留字this仅限于在构造函数、类的方法和类的实例中使用,它有以下含义:●在类的构造函数中出现的this作为一个值类型,它表示对正在构造的对象本身的引用。●在类的方法中出现的this作为一个值类型,它表示对调用该方法的对象的引用。●在结构的构造函数中出现的this作为一个变量类型,它表示对正在构造的结构的引用。●在结构的方法中出现的this作为一个变量类型,它表示对调用该方法的结构的引用。除此之外,在其它地方...
C#中的静态成员和非静态成员

C#中的静态成员和非静态成员

C#中的静态成员和非静态成员2007-09-21 本站 若将类中的某个成员声明为static,该成员称为静态成员。类中的成员要么是静态,要么是非静态。一般说来,静态成员是属于类所有的,非静态成员则属于类的实例--对象。以下示例代码演示了如何声明静态和非静态成员。程序清单10-5:using System;class Test{int x;static int y; void F(){ x=1; //正确,等价于this.x=1 y=1; //正确,等价于T...
<< 1 2 3 4 5 6 7 8 9 10 >>