A a =new B(); 其中A是申明类,B是实例类。
1.当调用一个对象的函数时,系统会直接去检查这个对象申明定义的类,即申明类,看所调用的函数是否为虚函数;
2.如果不是虚函数,那么它就直接执行该函数。而如果是一个虚函数,那么这个时候它就不会立刻执行该函数了,而是开始检查对象的实例类。
3.在这个实例类里,他会检查这个实例类的定义中是否有实现该虚函数或者重新实现该虚函数(通过override关键字)的方法,
如果有,它就不会再找了,而是马上执行该实例类中实现的虚函数的方法。而如果没有的话,系统就会不停地往上找实例类的父类,
并对父类重复刚才在实例类里的检查,直到找到第一个重载了该虚函数的父类为止,然后执行该父类里重载后的函数。
class father( ){
public virtual void tellName(){
Console.WriteLine("I am father");
}
}
class son(){
public override void tellName(){
Console.WriteLine("I am son");
}
}
father a = new son();
a.tellName();
父类的引用指向子类的对象,执行过程如下:
1.先检查申明类father 2.检查到是虚拟方法 3.转去检查实例类son,有重写的方法 4.执行实例类B中的方法 5.输出结果 I am son;
分享到:
相关推荐
vb.net例子-正则-取函数 vb.net例子-正则-取函数 vb.net例子-正则-取函数
.Net基础视频教程-函数
C#.Net网络程序开发-Socket篇
Aspose.Total for .NET (2014-01-23) =================================================== DISCLAIMER: THIS SOFTWARE PACKAGE CAN ONLY BE USED FOR RESEARCH PURPOSES This package contains the following ...
原装的英文版Asp.net2.0 入门经典C#篇.避免了翻译后的质量下降
Remotesoft Salamander .NET Linker and Mini-deployment Tool 2.1.0 可以将.Net程序集从framework中单独出来 摆脱Framework
VS2010开发,MVC3架构。 通过调用微信官方接口实现获取openid,和分享好友功能。底层获取signature和jsapi_ticket,并在服务端进行缓存AccessToken和jsapi_ticket。 注意:请按照index页面上的说明配置。
接下来介绍了.NET中Web页面设计的基础知识和ASP.NET2.0服务器端控件的使用方法;作为ASP.NET数据库开发的准备内容,本书也介绍了些SQL语言的基础知识。此外,还介绍了ASP.NET中的常用对象、数据访问技术、数据源控件...
传智播客2010版.Net教学课件-杨中科(完整版) 传智播客2010版.Net教学课件-杨中科(完整版) 传智播客2010版.Net教学课件-杨中科(完整版)
讲述asp.net数据库的基础知识,对语言的讲解!
Asp.Net C# 网页商城 购物车功能 留言功能 无注册功能 测试用户数据库直接添加
图文并茂介绍,在vb.net (asp.net)中后台引用ajax函数的方法,测试平台:vs2010(VB.NET),数据库-sql server2000。
ADO.Net助手是一个获取ADO.Net连接字符串(支持ADO.Net助手是一个获取ADO.Net连接字符串(支持Access,SQLite,SQLServer,MySQL和ORACLE),测试SQL命令,存储过程和数据库之间互导数据的辅助软件。ADO.Net助手还可以...
.Net基础视频教程10-面向对象多态-2
ASP.NET 微信JS-SDK 签名与自定义分享内容代码 开发环境: Visual Studio 2010 必须先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。 必须把项目中的微信AppID和AppSecret替换成...
Asp.Net微信平台项目源码数据库脚本
第一部分 Visual Basic.net基础 第二部分 vb.net的语法部分 第三部分 visual basic.net的运算 第四部分 visual basic.net的常用控件 第六部分 vb.net的OOP结构 第七部分 数据库访问技术 第八部分 vb.net的多线程 第...
小贝程序员生活\jar\lib\com.springsource.net.sf.cglib-2.2.0.jar 小贝程序员生活\jar\lib\com.springsource.net.sf.cglib-2.2.0.jar 小贝程序员生活\jar\lib\com.springsource.net.sf.cglib-2.2.0.jar
.Net C# 视频经典教学
精通C#与.NET 4.0数据库开发源码 --------------------------------------------- ...全书共六篇,包括:C# 4.0语言基础、开发应用程序、SQL Server 2008基础、ADO.NET操作数据库、LINQ查询开发、项目实战。