看了Modern C#系列課程2--類,組和名稱空間的筆記,主講 俞暉
類實例化的3種方法:
1 Test mytest = new Test();
2 FileStream fs = File.Create(“data.inp”);
3 使用反射
Q: 希望能夠對new, virtual, override等修飾符方面講解一下,因爲我是從Java轉過來的,這一點跟Java不大一樣,估計很多人和我一樣會困惑
A: 在繼承的時候,子類可以override父類的方法。如果我們聲明瞭一個方法,這個方法的名稱和父類一樣,但我們並不想應用多態,那我們可以認爲這個方法是子類本身的一個方法。但是此方法的名稱與父類相同,我們就用new來標識一下,說明這個方法是跟父類跟繼承關係無關的。只是子類裏面的一個方法而已。在父類中定義virtual方法,就是希望子類去覆寫它,重新定義子類的實現。這樣子類如果有自己的實現方法,那麼我們就使用override來覆寫。
Sealed修飾的類不能被繼承。
Override 多態,虛方法,抽象方法重寫,在多個子類中實現同名同參數同返回值的方法。Overload 重載,在一個類中實現多個同名不同參數的方法,返回值可同可不同。
虛方法可以有實現體,用virtual 關鍵字指定。如果虛方法沒有實現體,可以看作抽象方法。有抽象方法的類一定是抽象類。抽象用abstract關鍵字指定。
接口全部是public的,而且只是定義,沒有實現。用interface關鍵字指定,然後用類繼承接口,實現。
類中static的屬性和方法可以直接用類名.方法調用 。
看了Modern C#系列課程3--面向對象程序設計的筆記,主講 俞暉