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

  • 相关阅读:
    Linux 文件取交集 并集 差集
    阿里花名推荐
    Linux bg fg命令的使用
    python导入自己创建的本地包报错
    数值计算方法
    数据库oracle回顾
    使用visualBox创建Centos/7,搭建docker,安装mysql,及远程连接
    git 合并分支到master
    git 本地文件修改错误,重新取回服务器历史版本
    三本不错的计算机专业书籍(需求分析,开发实务,恶意代码分析)
  • 原文地址:https://www.cnblogs.com/netcorner/p/2912320.html
Copyright © 2011-2022 走看看