1.2.1 ASP.NET的编程语言
现在ASP.NET支持的开发语言包括VB.NET、C#.NET、JSCRIPT.NET、VC++.NET以及其它.NET Framework所支持的语言。这里我向大家介绍最常用的VB.NET和C#.NET。
1. Visual Basic.NET
Visual Basic.NET是Visual Basic在.NET中的最新版本。它和VB 6比较起来,增加了许多新的或者改进的特性――例如:继承、接口、重载(Overloading)。这些使它成为一个强大的面向对象的语言。
Visual Basic.NET最大的新特征就是其利用了CLS(Common Language Specification,公共语言规范)和CLR(Common Language Runtime,公共语言运行时)。因为Visual Basic.NET遵从CLS,这就使得任何遵从CLS的语言都可以使用你用Visual Basic.NET编写的类、对象和组件。同样的,Visual Basic.NET开发人员也可以自由使用其它遵从CLS的语言编写的类、对象和组件,而不用担心语言之间的差异。
Visual Basic.NET支持许多新的面向对象的特性,例如,继承、重载、接口、构造体等等。而且还包括异常处理、代表和一些新的数据类型。
1)继承性
Visual Basic.NET允许你定义基类,派生类可以继承基类的属性和方法。你也可以用派生类的方法来覆盖基类的方法。VB.NET中的所有类默认情况下是可以继承的。如你可以在一个表单中继承现有的表单中的类,因为你所设计的表单本身就是一个类。
2)异常处理
VB.NET支持结构化的异常处理,你可以用下面的代码来捕捉异常:
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.NET已经完全变成了一门全新的语言。它还提供了对多线程的支持等等。由于其变化之大,许多VB的程序员也开始迷惑是学习VB.NET,还是学习C#。孰优孰劣的争论现在还在进行中,可以肯定的是,如果你能掌握.NET Framework,使用那种语言已经变得不再重要了。
2. C#.NET
C#语言是微软公司针对.Net平台开发的一种全新的编程语言。尽管C#象是C,和C++语言的升级语言,但是他不象他的前身那样,C#是一个完全面相对象的开发语言。它既有Visual Basic的快速开发的特点,又具有C++的强大的功能。它的风格类似与C、C++和Java。如果你是一个C、C++或者Java的程序员,你会发现你可以很快的使用C#进行开发。和VB.NET一样,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=&#118alue;
}
}
public int Age
{
get
{
return _Age;
}
set
{
_Age=&#118alue;
}
}
}
3) 方法
方法是类中执行运算或者其它行为的成员。我们现在给上面的类增加一个ToString()的方法。
public class person
{
private string _Name;
private int _Age;
public person()
{
//
// TODO: Add constructor logic here
//
}
public string Name
{
get
{
return _Name;
}
set
{
_Name=&#118alue;
}
}
public int Age
{
get
{
return _Age;
}
set
{
_Age=&#118alue;
}
}
public string ToString()
{
return "姓名:"+_name+",年龄:"+_Age;
}
}
和VB.NET一样,C#也提供了继承,接口等其它面向对象的特性。