• 虚方法与抽象方法有什么区别


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

  • 相关阅读:
    iOS之蓝牙开发—CoreBluetooth详解
    iOS-GCD使用详解
    iOS—Mask属性的使用
    idea导入eclipse中的maven项目
    SQL Server 查找字符串中指定字符出现的次数
    lLinux的常用命令
    从excel表中生成批量SQL
    ORA-00911: invalid character 错误解决
    sqlserver sp_who2和inputbuffer的使用,连接数
    如果存在这个表,则删除这个表的sql
  • 原文地址:https://www.cnblogs.com/netcorner/p/2912320.html
Copyright © 2020-2023  润新知