在微软的.NET还是Beta 1版的时候,就受到了开发人员的极大关注。随着正式版的发布,越来越多的人开始认识和了解它。相信你已经通过网络或者其它媒体了解到微软正在不遗余力的推销它的.NET策略。
你一定还在迷惑,“什么是.NET?”从微软的网站上我们得到如下的解释:
Microsoft® .NET 是 Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。
从这段文字中你可以看出,微软是希望通过.NET技术把原来分散在Internet上的各种服务有机的组合起来。不论你什么时候,在什么地方,使用什么设备上网,也不论你使用什么操作系统,使用什么语言开发,你都可以通过.NET技术找到自己想要的服务。也许你还会问,“什么是XML Web Service?”先不要着急,这个问题你将会在本书的第5章《XML WEB服务》中找到满意的答案。
做为.NET框架中很重要的组成部分究竟给我们带来了什么新的内容?在使用这门新的语言之前我们需要准备些什么?它在编程思想、开发方法上有些什么新的内容?这些正是本章所要解决的问题。我们将会带你去全面了解语言,尽快地用去开发和编写程序。不论你以前是使用ASP、VB、Java,还是C或者C++,你都能够快速地学会使用它。将会使你的编程生活变的更加简单。
本章包括以下主要内容:
1. 什么是;
2. 为什么要使用;
3. .NET的安装;
4. 主要开发工具的介绍;
5. 丰富的Web控件和多语言支持。
下面我先向大家介绍什么是。
1.1 什么是
提到,就不得不首先搞清楚什么是ASP。ASP的全称是Active Server Pages,即活动服务器页面,为什么称之为活动服务器页面,这是因为以前的互联网全部是由静态的HTML页面组成,如果需要更新你的网站内容,你不得不制作大量的HTML页面。有了ASP以后,我们就能够根据不同的用户,在不同的时间向用户显示不同的内容。网站的内容更新也不再是一个乏味的重复过程,它开始变得简单而有趣。也因此在国内掀起了一股学习ASP的热潮。
但是由于ASP程序和网页的HTML混合在一起,这就使得程序看上去相当的杂乱。在现在的网站设计过程中,通常是由程序开发人员做后台的程序开发,前面有专业的美工设计页面,这样,在相互配合的过程中就会产生各种各样的问题。同时,ASP页面是有脚本语言解释执行的,使得其速度受到影响。受到脚本语言自身条件的限制,我们在编写ASP程序的时候不得不调用COM组件来完成一些功能。由于以上种种限制,微软推出了。
1.2 为什么要使用
不仅仅只是ASP 3的一个简单升级,它更为我们提供了一个全新而强大的服务器控件结构。从外观上看,和ASP是相近的,但是从本质上是完全不同的。几乎全是基于组件和模块化,每一个页,对象,和HTML元素都是一个运行的组件对象。在开发语言上,抛弃了VBSCRIPT和JSCRIPT,而使用.NET Framework所支持的,C#.NET等语言做为其开发语言,这些语言生成的网页在后台被转换成了类并编译成了一个DLL。由于是编译执行的,所以它比ASP拥有了更高的效率。下面我们就向大家详细介绍的这些优点。
1.2.1 的编程语言
现在支持的开发语言包括、C#.NET、、VC++.NET以及其它.NET Framework所支持的语言。这里我向大家介绍最常用的和C#.NET。
1. Visual
Visual 是Visual Basic在.NET中的最新版本。它和VB 6比较起来,增加了许多新的或者改进的特性――例如:继承、接口、重载(Overloading)。这些使它成为一个强大的面向对象的语言。
Visual 最大的新特征就是其利用了CLS(Common Language Specification,公共语言规范)和CLR(Common Language Runtime,公共语言运行时)。因为Visual 遵从CLS,这就使得任何遵从CLS的语言都可以使用你用Visual 编写的类、对象和组件。同样的,Visual 开发人员也可以自由使用其它遵从CLS的语言编写的类、对象和组件,而不用担心语言之间的差异。
Visual 支持许多新的面向对象的特性,例如,继承、重载、接口、构造体等等。而且还包括异常处理、代表和一些新的数据类型。
1)继承性
Visual 允许你定义基类,派生类可以继承基类的属性和方法。你也可以用派生类的方法来覆盖基类的方法。中的所有类默认情况下是可以继承的。如你可以在一个表单中继承现有的表单中的类,因为你所设计的表单本身就是一个类。
2)异常处理
支持结构化的异常处理,你可以用下面的代码来捕捉异常:
Try
' "Try" block.
Catch e As ClassLoadException
' "Catch" block.
Finally
' "Finally" block.
End Try
在Try块中放上你的代码,当发生异常时,程序会自动跳到Catch块,在这里,我们可以输出错误信息,或者给用户一个友好的提示,而不会导致程序崩溃。在Finally部分,我们可以用来释放一些系统资源,如数据库连结等。
3)重载(Overloading)
使用重载你可以让允许具有不同的数据类型的方法、属性或者过程使用相同的名字。如下面代码所示:
Overloads Sub Display(ByVal theChar As Char)
' Add code that displays Char data.
End Sub
Overloads Sub Display(ByVal theInteger As Integer)
' Add code that displays Integer data.
End Sub
Overloads Sub Display(ByVal theDouble As Double)
' Add code that displays Double data.
End Sub
当向Display方法传入不同的参数时,它会运行不同的过程。这在我们使用不同的数据类型时是非常有用的。
4)接口
接口和类一样会定义方法和属性,但是和类所不同的是,接口并不提供方法的实现。你可以在继承接口的类中去编写实现。
从上面这些新的特性,我们可以看出已经完全变成了一门全新的语言。它还提供了对多线程的支持等等。由于其变化之大,许多VB的程序员也开始迷惑是学习,还是学习C#。孰优孰劣的争论现在还在进行中,可以肯定的是,如果你能掌握.NET Framework,使用那种语言已经变得不再重要了。
2. C#.NET
C#语言是微软公司针对.Net平台开发的一种全新的编程语言。尽管C#象是C,和C++语言的升级语言,但是他不象他的前身那样,C#是一个完全面相对象的开发语言。它既有Visual Basic的快速开发的特点,又具有C++的强大的功能。它的风格类似与C、C++和Java。如果你是一个C、C++或者Java的程序员,你会发现你可以很快的使用C#进行开发。和一样,C#可以利用公共语言运行时给我们带来的各种好处。例如:语言的交互性,垃圾回收机制,增强的安全性能,以及版本兼容。
1)类
一个类可以从另一个类继承,在C#中,类是不可以继承多个类的,但是它可以继承多个接口。
下面我们给大家建立一个类:
public class person
{
//在这里面可以增加属性和方法。
}
2) 属性
使用属性,我们可以访问类中的数据成员。我们现在给上面的person类增加一个姓名和年龄的属性。
public class person
{
private string _Name;
private int _Age;
public string Name
{
get
{
return _Name;
}
set
{
_Name=value;
}
}
public int Age
{
get
{
return _Age;
}
set
{
_Age=value;
}
}
}
3) 方法
方法是类中执行运算或者其它行为的成员。我们现在给上面的类增加一个ToString()的方法。
public class person
{
private string _Name;
private int _Age;
public person()
{
//
// TOD Add constructor logic here
//
}
public string Name
{
get
{
return _Name;
}
set
{
_Name=value;
}
}
public int Age
{
get
{
return _Age;
}
set
{
_Age=value;
}
}
public string ToString()
{
return "姓名:"+_name+",年龄:"+_Age;
}
}
和一样,C#也提供了继承,接口等其它面向对象的特性。