<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      【C#】什么時候使用virtual什么時候使用abstract

      一、C#中virtual與abstract的區(qū)別

      C#的virtual & abstract經常讓人混淆,這兩個限定詞都是為了讓子類進行重新定義,覆蓋父類的定義。但是用法上差別很大。

      a)     virtual修飾的方法必須有方法實現(哪怕只有一對大括號),abstract修飾的方法不能有實現。

      b)    virtual可以被子類重寫,abstract必須被子類重寫

      c)     如果類中的某一函數被abstact修飾,則類名也必須用abstact修飾

      d)    Abstract修飾的類不能被創(chuàng)建實例。

      e)     C#中如果準備在子類重寫父類的方法,則該方法在父類中必須用virtual修飾,在子類中必須用overide修飾。

      注:用abstract修飾的類只能被繼承不能夠被實例化。

      二、什么時候使用virtual什么時候使用abstract

      a)  virtual重點是實現多態(tài),同一個方法能做不同的事情,也就是當一個方法會有不同的操作的時候要用virtual,例如:支付方法 pay(),可能通過微信去支付、也可能通過支付寶或者其他方式去支付,這個時候定義pay()方法的時候最好是用virtual修飾。

      b) 作為一個必須存在的方法的時候用abstract,比如要定義一個人類對象Class Person{}和一個鳥類對象Class Bird{},人是動物,鳥也是動物,所以一般會先定義一個共同的基類Class animal{},然后讓人類和鳥類對象都繼承這個基類。這個基類可以有共通的屬性和方法,比如行走方法walk(),發(fā)聲方法voice(),在基類中這兩個方法都是不需要實現的,只需要在PersonBird類中實現就可以了【Person和Bird類必需要實現這兩個方法,這也保證了所有繼承animal類的類都需要有walk()和voice()方法】,所以定義walk()voice()方法的時候可以用abstract修飾

       

      posted @ 2016-12-29 15:46  Doc.stu  閱讀(2626)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 欧美肥老太牲交大战| 麻豆精产国品一二三区区| 人人澡人人妻人人爽人人蜜桃| 国产一区二区不卡在线| 真实国产精品视频400部| 国产精品国产精品偷麻豆| 久久综合久中文字幕青草| 青春草公开在线视频日韩| 午夜通通国产精品福利| 国产美女精品自在线拍免费| 亚洲国产一区二区三区亚瑟| 国产成人av大片大片| 四虎亚洲国产成人久久精品| 亚洲熟妇无码爱v在线观看 | 亚洲男人av天堂久久资源| 久久午夜无码免费| 2020国产欧洲精品网站| 男女无遮挡激情视频| 部精品久久久久久久久| 国产热A欧美热A在线视频| 日韩人妻熟女中文字幕a美景之屋 国产99久久久国产精品~~牛 | 欧美日韩免费专区在线观看| 久久青草国产精品一区| 亚洲精品久久久久久久久久吃药 | 拉萨市| 九九热精品在线免费视频| 一本无码av中文出轨人妻| 日韩av毛片福利国产福利| 欧美在线观看www| 日韩不卡一区二区在线观看| 免费无码无遮挡裸体视频在线观看| 亚洲国产日韩欧美一区二区三区 | 男女做aj视频免费的网站| 国产成人啪精品午夜网站| 国产中文字幕精品免费| 国产中年熟女大集合| 久久精品国产亚洲成人av| 国产在线线精品宅男网址| 任我爽精品视频在线播放| 亚洲人ⅴsaⅴ国产精品| 最近中文字幕完整版hd|