一,如下例子

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace DemoTest
{
class Program
{
static void Main(string[] args)
{
B a = new B();
}
}
public class A
{
public A()
{
Say();
}
protected virtual void Say() {
Console.WriteLine("A");
}
} public class B : A
{
protected override void Say()
{
Console.Write("B");
}
}
}

结果:

输出的则是B

二,通过调试得出结论:

当B继承A时,并重写A中的方法,程序运行的时只会进入到B中重写的方法Say(),而不会进入A中的Say()

三,抽象方法和虚方法的区别

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace abstractOrvirtual
{
class Program
{
static void Main(string[] args)
{
AbstractDemo ab = new Test();
ab.AbstractEvent();
ab.VirtualEvent();
ab.VirtualEvent2();
}
}
public abstract class AbstractDemo
{
public abstract void AbstractEvent();
//public abstract void AbstractEvent2() //无法声明主体,因为它标记为 abstract
//{
// Console.WriteLine("抽象方法");
//}
public virtual void VirtualEvent()
{
Console.WriteLine("虚方法");
}
public virtual void VirtualEvent2()
{
Console.WriteLine("虚方法");
}
// public virtual void VirtualEvent2();必须声明主体,因为它未标记为 abstract、extern 或 partial }
public class Test : AbstractDemo
{
public override void AbstractEvent() //抽象方法可以被重写
{
Console.WriteLine("抽象方法");
}
public virtual void VirtualEvent2()//虚方法可以被重写
{
Console.WriteLine("虚方法2");
}
}
}

最新文章

  1. spring 参数绑定
  2. 安装phpredisadmin linux nginx服务器下
  3. 安装pillow错误的解决方案
  4. Java Spring AOP用法
  5. .NET 的 WebSocket 开发包比较
  6. Java实验三报告
  7. 滤镜简单demo(转,供参考)
  8. PHP中Get()和Post()用法详解
  9. Android 各种MIME类型和文件类型的匹配表
  10. jquery dialog的关闭事件不触发,触发不了
  11. 转载 C语言中volatile关键字的作用
  12. mvp架构解析
  13. vfd电子时钟制作
  14. 学习笔记 C++ 链表
  15. 我眼中的 Nginx(一):Nginx 和位运算
  16. 【Android Studio安装部署系列】五、新建你的第一个项目:HelloWorld
  17. This is very likely to create a memory leak 异常
  18. javax.websocket.DeploymentException: Multiple Endpoints may not be deployed to the same path [/websocket/{sid}] : existing endpoint was class com.sanyi.qibaobusiness.framework.webSocket.WebSocketServe
  19. sql 语句查所有父级
  20. python练习题-day5

热门文章

  1. linux性能分析工具Procs
  2. printcap - 打印机相容性数据库
  3. MySQL01---简介及安装
  4. hive基础知识or基本操作命令
  5. 浅析 http 接口
  6. 明明不太合适但是还是被用在配置文件和数据传输上的XML
  7. [原创] Delphi InputBox、InputQuery函数
  8. 教你建立SQL数据库的表分区
  9. POJ 3130 How I Mathematician Wonder What You Are! (半平面相交)
  10. 【Dart学习】--之Duration相关方法总结