帶你走進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#也提供了繼承,接口等其它面向對象的特性。