asp.net程序设计教案之c基础

上传人:小** 文档编号:46746461 上传时间:2018-06-27 格式:DOC 页数:24 大小:98KB
返回 下载 相关 举报
asp.net程序设计教案之c基础_第1页
第1页 / 共24页
asp.net程序设计教案之c基础_第2页
第2页 / 共24页
asp.net程序设计教案之c基础_第3页
第3页 / 共24页
asp.net程序设计教案之c基础_第4页
第4页 / 共24页
asp.net程序设计教案之c基础_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《asp.net程序设计教案之c基础》由会员分享,可在线阅读,更多相关《asp.net程序设计教案之c基础(24页珍藏版)》请在金锄头文库上搜索。

1、ASP.NET 程序设计教案第第 4 章章 C#基础基础课题第第 4 4 章章 C#C#基础基础章节课时2教学目的要求本章主要讲解 C#的基础知识,为 Web 应用程序的开发打好语言基础。C#是从 C 和 C+发展而来,它继承了 C+和 Java 语言的优点,是面向对象的高级程序设计语言,它具有功能强大和语言简洁高效、与 Web 技术紧密结合、完整的安全和错误处理机制等特点。教学重点类和类的使用及流程控制教学难点类的概念教学环境多媒体教室板书设计4.1 C#简介C#是微软.NET 开发平台下的编程语言,是.NET 开发平台的核心。微软的.NET 为开发程序开创了新的局面,使开发网络程序变得简单

2、,该平台也提供一种更为强大有效的Web 服务,通过丰富的类库可以使程序员快速开发所需要的程序。4.1.1 C#语言的特点C#是专为.NET 开发平台而设计的编程语言,C#与.NET 紧密结合,.NET 的各种优点通过 C#体现出来,但是 C#没有自己的运行库,C#作为.NET 的服务提供者之一,它使用.NET 的类库,这些类库也为.NET 平台的其他开发语言提供支持,这正是.NET 开发平台的突出特点。C#语言的最大特色去掉了 C/C+中的指针,在 C#中,对类、方法的引用变得简单,只有一个“.”符,可理解为通过“.”符实现了类或方法的嵌套。C+语言是面向对象编程语言,从 C+发展而来的 C#

3、当然也是面向对象开发语言,C#只允许单继承,不支持多继承。因此,不能定义虚基类,这就使类的定义和继承变得简单,这与 C+不同,而且 C#中不允许定义全局变量和全局函数。C#与 Web 技术紧密结合,C#通过 SOAP(Simple Object Access Protocol)实现了应用程序的解决方案与 Web 标准相统一。有了 Web 服务框架的帮助,程序员能够利用已有的面向对象编程知识与技巧开发 Web 服务,而这一过程用的语言是 C#语言。C#具有完善的安全性和错误处理,在 C#中消除了软件开发中易犯的错误,并提供完整的安全机制,另一方面 C#能以更少的代码实现同样的功能。.NET 平台

4、提供了垃圾自动回收,来完成资源的释放与对象撤销时内存的回收工作。C#还支持版本控制技术,具有较好的灵活性及兼容性等优点。4.1.5 一个 C#应用程序 这里以创建和编译一个控制台程序为例,介绍使用 C#命令行编译器编译应用程序的方法。该程序的功能是在执行后显示“Hello World!”,程序代码如下:using System;namespace MyFirstpublic class HelloWorldpublic static void Main ( ) Console.WriteLine(“Hello,World!”); 以扩展名.cs 保存文件,这里取 MyFirst.cs。如果使用

5、微软提供的 visual C#命令行编译器可用以下命令:csc MyFirst.cs,这样会生成一个 MyFirst.exe 可执行程序。输入命令行执行该程序会输出“Hello World!”。代码分析:首先强调 C#对大小写敏感。这里using、namespace、class、public、static、void 和 Main 都是 C#保留字,using System 指引 System 命名空间,每一个命名空间可看作是同类对象的一个集合,内部包含很多个类。程序员要自己定义命名空间就要用保留字 namespace,本例中自定义了一个命名空间 MyFirst。Main 方法是应用程序的入口,

6、Main 的 M 要大写,这与 C/C+不同。本章的例子程序都已在.NET2003 开发环境下正确运行。4.2.2 引用类型引用类型包括类(class)、接口(interface)、代表(delegate)和数组(array)。4.2.2.1 类 在面向对象设计方法中,类是一系列具有相同性质的对象的抽象,类是一个数据结构,将对象的属性(状态)和方法(行为)统一在一个单元中,是对对象共同特征的描述。以学生为例,所有学生都有学号、姓名、性别、年龄、所属系别、联系电话等,将这些共同的特征和一些方法定义在一个模板中就构成了学生类,如果这个学生类中指定了具体的值,如“200011070,张亮,男,20,

7、计算机科学系,67698623”,这就是学生类的一个实例,或者叫对象。对象是类的一个实例。类和对象是密切相关的,没有脱离对象的类,也没有不依赖类的对象。类支持继承机制,通过继承和派生类可以扩展类的数据成员和函数成员,从而达到代码复用的目的。有关类的详细情况将在第 5 节中详细叙述。下面是一个名为 Myclass 的简单类的声明:例 4.3 程序清单 P4-3public class pointpublic int x, y ;public point(int x , int y) this . x = x ;this . y = y ; 使用 new 创建类的一个对象,为该对象分配内存,poi

8、nt p1 = new point(5 , 15) 创建类的一个对象必须使用关键字 new 来进行声明,而对于结构变量可以使用直接声明,也可以使用 new 进行创建,因为结构是值类型,类是引用类型。对于值类型,每创建一个变量,就在内存中开辟一块区域,而对于引用类型,每个变量只存储目标的引用,当系统新建一个引用变量时,就增加一个指向目标的指针。当不再需要对象时,该对象所占内存将被系统自动回收,在 C#中不准显式地释放对象,这与 Java 一样。关于类的详细介绍将在第 4 节中叙述。4.2.2.2 接口上面讲过类是一系列具有相同性质的对象的抽象,而接口是定义一个约定,是对一组能够提供相同服务的类的

9、抽象,接口对程序中的各个类进行分组。接口通过关键字interface 进行定义。接口支持多继承(multiple inheritance)。在下面的示例中,接口 CComboBox 同时继承了接口 CtextBox 和接口 ClistBox:interface Cdrawvoid paint( ) ; interface CTextBox : Cdrawvoid SetText (string text) ;interface CListBox : Cdrawvoid SetItems (string items) ;interface CcomboBox : CtextBox , Clist

10、Box 这里只对接口进行概念性介绍,详细介绍将在后面阐述。4.2.2.3 代表代表类似于 C+编程语言中的函数指针,但与函数指针不同,代表是面向对象和类型安全的。用来封装某个方法的调用过程。代表 delegate 是关键字,它所封装的方法一定要与某个类或对象相关联。代表将方法处理为实体,使其能够被赋值给变量,并作为参数传递。代表的使用分 3 步:定义、实例化和调用。如:delegate int w1(string text) ;delegate void w2( ); 代表的实例化使用 new 来完成,同时还需要指定所封装的方法,如:WL td = new W2( ) ; 这样 td 就是系统

11、定义的类 System delegate 的一个扩展。例 4.4 程序清单 P4-4using System;delegate string Delegate_one( ) ; / 声明一个代表public class MyDelegatepublic string MyDelegate_Normal( )return “non-static delegate revoked.”;public static string MyDelegate_static( ) return “static delegate revoked.”;public class Myclasspublic stati

12、c void Main ( ) MyDelegate MyDele = new MyDelegate( ) Delegate_one d=new Delegate_one(MyDele. MyDelegate_Normal); Console.WriteLine(d( ); d=new Delegate_one(MyDelegate. MyDelegate_static);Console.WriteLine(d( ); 该程序输出结果为:non-static delegate revoked.static delegate revoked.4.3 变量和参数变量是用来描述一条信息名称,可用变量

13、来表示和存储各种类型的信息。变量代表存储地址,当定义了一个变量后,系统会给该变量分配一定的存储空间,因此变量在使用之前必须先定义。C#中定义了 7 种类型的变量:静态变量、实例变量、数组元素、值参数、引用参数、输出参数和局部变量。C#中对变量的命名要求有:1) 变量名必须以字母开头。2) 变量名只能由字母,数字,下划线组成,不能包含空格,标点符号,运算符号等。3) 变量名不能使用 C#中的关键字(如 using , int 等)。4) 变量名不能使用 C#中库函数名称(如 Main , write 等)。在 C#中如果在关键字,库函数名前加“”作为一个变量命名则是合法的,但不推荐使用这种方式来

14、命名一个变量。在变量命名中应尽量体现变量的性质、内容等信息的名字,应尽可能做到见名识义,这样利于程序的阅读。另外,可以在一条语句中命名多个变量,如int a , b , c=2 , d ; 在面向对象程序设计中由访问修饰符来对变量进行访问限制,C#提供了下面几种访问修饰符:1) public:表示对变量的访问不受任何限制。2) protected:表示可以在类的内部访问该变量。3) protected:表示只能在包含变量的类或类生类中对变量进行访问。4) internal:表示变量的访问范围只能在当前工程或模块内。5) private:表示变量的访问只能在包含它的类中。6) static:表示

15、变量为静态变量。7) ref:表示变量为形式参数变量。变量的数据类型为 C#中对应的关键字。如:class demopublic static int x;int y;void Fun(int a, ref int b, int v, out int c) int i=2 ;c=a+b- ; x 是静态变量,y 是实例变量,a 是值参数,b 是引用参数,v 1 是数组元素,c是输出参数,i 是局部变量。1) 静态变量。用 static 修饰符声明的变量为静态变量。所谓静态变量指变量只需创建一次,在后面的程序中可以多次引用。如果类中的一个成员变量被定义为静态的,那么类中的所有成员都可以共享这个变

16、量。静态变量的初始值就是该变量类型的默认值。2) 实例变量。未用 static 修饰符声明的变量为实例变量。当个类的实例被创建后,直到实例在内存中被释放,该实例变量就一直存在。3) 局部变量。指在一个独立的程序中声明的变量,它只在该程序块中有效,程序离开这个范围变量就失效。如 for 循环语句中控制循环次数的变量。局部变量不会被自动初始化,因此,它没有默认值,在其有效范围内也同样要先声明后使用。4) 值参数。未用 ref 或 out 修饰符声明的参数为值参数。值参数在调用该参数所属的函数成员时开始存在,并用调用中给定的自变量的值初始化。5) 引用参数。用 ref 修饰符声明的参数是引用参数。变量作为引用参数在函数成员调用之前必须先赋值,在函数成员内部,引用参数被视为已赋值。在结构类型的实例方法或实例访问器内部,关键字 this 的行为与该结构类型的引用参数相同。6) 输出参数。用 o

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 宣传企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号