zoukankan      html  css  js  c++  java
  • 虚方法与抽象方法有什么区别

    < DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

    虚方法一般可以在父类实现,子类不重写的话就按父类的实现
    抽象方法则是在抽象父类里声明,没有实现,也就是子类必须重写

    抽象方法   
    使用abstract关键字    public    abstract    bool    Withdraw(…);   
       抽象方法是必须被派生类覆写的方法。   
       抽象方法是可以看成是没有实现体的虚方法   
       如果类中包含抽象方法,那么类就必须定义为抽象类,不论是否还包含其它一般方法   
        
       虚方法   
       使用virtual关键字    public    virtual    bool    Withdraw(…);   
       调用虚方法,运行时将确定调用对象是什么类的实例,并调用适当的覆写的方法。   
       虚方法可以有实现体

    例:

       public    abstract    class    AUser   
       {   
               public    abstract    UserInfo    getUser();   
               public    virtual    void    Save(UserInfo    info)   
               {   
                       //实现保存的功能   
               }   
       }   
        
       public    class    UserSqlServer:AUser   
       {   
               public    override    UserInfo    getUser()   
               {   
                         //一定要实现的,抽象类只给了抽象方法   
               }   
               //假设抽象类针对SqlServer实现的功能,这里不需要实现了.   
       }   
        
       public    class    UserOracle:AUser   
       {   
               public    override    UserInfo    getUser()   
               {   
                         //一定要实现的,抽象类只给了抽象方法   
               }   
               //假设抽象类针对Oracle实现的功能   
               public    override    void    Save(UserInfo    info)   
               {   
                         //覆盖抽象类中的Save方法   
               }   
       }

  • 相关阅读:
    由数字三角形问题理解动态规划
    堆排序
    清理oracle数据库空间
    十个常用破解网络密码的方法
    说说windows下64位程序和32位程序
    sql server使用第二记
    手机通讯录PK
    sql server 初级实践记
    You and your research ( Richard Hamming) P5
    TED
  • 原文地址:https://www.cnblogs.com/netcorner/p/2912320.html
Copyright © 2011-2022 走看看