国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

全面剖析VB.NET(3)

2024-07-10 13:05:24
字體:
來源:轉載
供稿:網友
 三、完善的面向對象支持
    vb.net提供了完善的面向對象編程支持,是一種真正的oo語言。
  
    完善的面向對象支持應該包括封裝(encapsulation),繼承(inheritance)和多態性(polymorphism)。當前的vb6已經部分地實現了這些支持,但仍因某些地方未能符合標準而受到責難。
  
    封裝是指對象只顯露公用的方法和屬性。vb6已經提供了健壯的封裝支持,具體通過public和private關鍵詞實現,這兩個關鍵詞既可以用于方法,也可以用于屬性。vb.net進一步完善了vb6的封裝支持,增加了一個protected關鍵詞。
  
    多態性即為“多種形態”,vb從4.0開始已經提供多態性支持,它在vb.net中沒有什么變化。然而,由于vb.net中類支持兩種類型的繼承——接口繼承和實現繼承,多態性將有更廣泛的用途。
  
    vb6已經支持一種稱為接口繼承(interface inheritance)的繼承形式,vb.net支持實現繼承(implementation inheritance)完善了繼承機制。過去,我們用vb的接口繼承模擬實現對象繼承,但現在不必再采用這種模擬技術。正如其他面向對象的語言,在vb.net中我們可以覆蓋基類的方法和屬性,也可以借助多態性創建出健壯的、可升級的組件。例如,假設有一個從基類crane繼承的forklift類,利用下面的代碼可以覆蓋基類中lift方法的默認實現:
  
  
  public class forklift
  inherits crane
  
  overrides sub lift(byref _
  height as double)
  height = height + 10
  end sub
  end class
  
  
  
    vb.net不僅允許覆蓋方法或屬性,而且還支持方法重載(overload)。重載是一種定義具有相同名字、不同數據類型的方法或者屬性的能力。例如,假設有一個對不同數據類型的數組進行排序的組件,我們無需為它定義多個排序方法的名字(每種數據類型一個方法名字);相反,我們可以重載單個方法名字:
  
  
  overloads sub sortarray(byref _
  avalues()as string)
  ...
  overloads sub sortarray(byref _
  avalues() as integer)
  ...
  overloads sub sortarray(byref _
  avalues() as object)
  
  
    在vb.net中,窗體以類模塊形式出現。它意味著類本身包含了所有構造窗體所必需的代碼。你可能會奇怪為什么vb.net中會看到這些代碼而以前不行,事實上這個變化帶來了許多強大的新功能,比如繼承這些窗體的能力。microsoft稱這種技術為“可視化繼承”(visual inheritance)。假設我們為大多數對話窗口設計了一個標準的格式,比如窗體某一邊有一列按鈕、某個角上有一個logo圖標,可視化繼承使得我們能夠設計一個窗體模板(類),需要時只需從這個基類繼承就可以得到新的對話窗口。 
  
  • 網站運營seo文章大全
  • 提供全面的站長運營經驗及seo技術!
  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 江孜县| 连山| 丹凤县| 大余县| 微山县| 区。| 阳西县| 武宁县| 公安县| 遵义市| 鹤山市| 成都市| 郴州市| 万源市| 广昌县| 洪泽县| 巴里| 安国市| 西乌珠穆沁旗| 宜川县| 灯塔市| 满洲里市| 吉首市| 邛崃市| 延庆县| 神农架林区| 道孚县| 福泉市| 龙泉市| 阳信县| 望都县| 建德市| 彭水| 中山市| 乐昌市| 岚皋县| 松江区| 芦山县| 伊宁县| 确山县| 邹平县|