天天看点

初识ASP.NET(2)

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=value;

?? }

?? }

?? public int Age

?? {

?? get

?? {

?? return _Age;

?? }

?? set

?? {

?? _Age=value;

?? }

?? }

??}

??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=value;

?? }

?? }

?? public int Age

?? {

?? get

?? {

?? return _Age;

?? }

?? set

?? {

?? _Age=value;

?? }

?? }

??

?? public string ToString()

?? {

?? return "姓名:"+_name+",年龄:"+_Age;

?? }

??}

?? 和VB.NET一样,C#也提供了继承,接口等其它面向对象的特性。?

??