国产探花免费观看_亚洲丰满少妇自慰呻吟_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技術!
  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 乡城县| 克拉玛依市| 聂荣县| 苍南县| 丁青县| 忻州市| 蓬安县| 长宁县| 大英县| 革吉县| 临猗县| 苏尼特右旗| 鹤山市| 游戏| 岢岚县| 交城县| 合水县| 霍林郭勒市| 泸定县| 高安市| 中山市| 阳朔县| 广德县| 台北县| 安陆市| 大同市| 墨江| 新沂市| 克山县| 平度市| 阿图什市| 赤峰市| 饶阳县| 盖州市| 安图县| 磐安县| 延庆县| 梅河口市| 旺苍县| 宕昌县| 汽车|