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方法   
               }   
       }

  • 相关阅读:
    [LC] 252. Meeting Rooms
    [LC] 243. Shortest Word Distance
    [LC] 215. Kth Largest Element in an Array
    [LC] 8. String to Integer (atoi)
    [LC] 367. Valid Perfect Square
    [LC] 66. Plus One
    [LC] 7. Reverse Integer
    [GeeksForGeeks] Print all nodes that don't have sibling in a binary tree.
    [Coding Made Simple] Maximum Sum Subsequence Non-adjacent
    [Coding Made Simple] Longest Bitonic Subsequence
  • 原文地址:https://www.cnblogs.com/netcorner/p/2912320.html
Copyright © 2011-2022 走看看