小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

虛方法virtual與抽象方法abstract的區(qū)別

 賈朋亮博客 2011-09-27
虛方法virtual的意思是子類可以重寫,抽象方法abstract是子類必須重寫。

抽象方法   
   使用abstract關鍵字    public    abstract    bool    Withdraw(…);   
   抽象方法是必須被派生類覆寫的方法。   
   抽象方法是可以看成是沒有實現(xiàn)體的虛方法   
   如果類中包含抽象方法,那么類就必須定義為抽象類,不論是否還包含其它一般方法   
    
   虛方法   
   使用virtual關鍵字    public    virtual    bool    Withdraw(…);   
   調(diào)用虛方法,運行時將確定調(diào)用對象是什么類的實例,并調(diào)用適當?shù)母矊懙姆椒ā?nbsp;  
   虛方法可以有實現(xiàn)體

若一個實例方法的聲明中含有        virtual        修飾符,則稱該方法為虛擬方法;一個虛擬方法的實現(xiàn)可以由派生類取代。取代所繼承的虛擬方法的實現(xiàn)的過程稱為重寫該方法;在一個虛擬方法調(diào)用中,該調(diào)用所涉及的那個實例的運行時類型確定了要被調(diào)用的究竟是該方法的哪一個實現(xiàn)。         
            
       虛函數(shù)的限制:         
            
       1.虛函數(shù)僅適用于有繼承關系的類對象,        所以只有類的成員函數(shù)才能說明為虛函數(shù).             
       2.靜態(tài)成員函數(shù)不能是虛函數(shù).             
       3.內(nèi)聯(lián)函數(shù)不能是虛函數(shù).             
       4構造函數(shù)不能是虛函數(shù).             
       5.析構函數(shù)可以是虛函數(shù).

簡單點說,抽象方法是需要子類去實現(xiàn)的.虛方法,是已經(jīng)實現(xiàn)了,子類可以去覆蓋,也可以不覆蓋取決于需求.   
   如   

   public    abstract    class    AUser   
   {   
           
public    abstract    UserInfo    getUser();   
           
public    virtual    void    Save(UserInfo    info)   
           {   
                   
//實現(xiàn)保存的功能   
           }   
   }   
    
   
public    class    UserSqlServer:AUser   
   {   
           
public    override    UserInfo    getUser()   
           {   
                     
//一定要實現(xiàn)的,抽象類只給了抽象方法   
           }   
           
//假設抽象類針對SqlServer實現(xiàn)的功能,這里不需要實現(xiàn)了.   
   }   
    
   
public    class    UserOracle:AUser   
   {   
           
public    override    UserInfo    getUser()   
           {   
                     
//一定要實現(xiàn)的,抽象類只給了抽象方法   
           }   
           
//假設抽象類針對Oracle實現(xiàn)的功能   
           public    override    void    Save(UserInfo    info)   
           {   
                     
//覆蓋抽象類中的Save方法   
           }   
   }   

 url:http://greatverve.cnblogs.com/archive/2011/06/29/virtual-abstract.html


    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多