• C#学习系列-抽象方法与虚拟方法的区别


    参考:http://www.microsoftvirtualacademy.com/Content/ViewContent.aspx?et=9851&m=9838&ct=31054

    如有错误,欢迎指正。

    主要区别:

    对于抽象方法,子类必须实现它。

    对于虚拟方法,子类可以重写也可以不重写。

    两者约束不同

    下面贴代码

     /* 声明一个抽象类
         * 1.抽象类中可以包含变量
         * 2.抽象方法中无法声明方法体
         */
        abstract class AbsClass
        {   
    string name;
    public abstract void DisplayValue(string value); } /*继承抽象类的子类必须实现抽象方法*/ class AbsClassInherited : AbsClass { /*使用override重写实现*/ public override void DisplayValue(string value) { Console.WriteLine(value.ToUpper()); } } /* 声明虚拟函数 */ class VirtClass { /*声明一个虚拟函数 虚拟函数必须实现方法体*/ public virtual void DisplayValue(string value) { Console.WriteLine(value); } } /*虚拟方法可以实现也可以不实现*/ class VirtClassInherited : VirtClass { /*使用override重写实现*/ public override void DisplayValue(string value) { Console.WriteLine(value.ToUpper()); } } /* 声明一个接口 * 1.接口中的方法必须是公用的 * 2.接口中不允许有变量 * 3.接口中的方法不允许有方法体 */ interface IAbs { void DisplayValue(string value); }
    作者:释迦苦僧
    出处:http://www.cnblogs.com/woxpp
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
    生活不易,五行缺金,求打点
  • 相关阅读:
    RGB色彩模式
    淘宝console
    倒计时
    放大镜效果
    谢谢你乱码
    [Linux Deploy]镜像扩展容量
    [Linux Deploy]SD 卡挂载问题
    [Linux Deploy]安装PHP环境
    [Linux Deploy]安装Dotnet Core 环境
    [Linux Deploy]安装MYSQL 设置自启动
  • 原文地址:https://www.cnblogs.com/woxpp/p/3907791.html
Copyright © 2020-2023  润新知