带你走进ASP.NET(2)
2024-07-10 12:55:57
供稿:网友
中国最大的web开发资源网站及技术社区,
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#也提供了继承,接口等其它面向对象的特性。