关于c#继承
2024-09-26 11:36:58
如下代码所示:最后输出的是:8,3,7,4
public class A
{
public virtual void One(int i)
{
Console.Write(i);
}
public virtual void Two(A a)
{
a.One();
One();
}
}
public class B : A
{
public override void One(int i)
{
base.One(i+);
}
} static void Main(string[] args)
{
A a = new A();
B b = new B();
a.Two(b);
b.Two(a); }
1、当 a调用Two方法的时候,传入进去的四b的实例,这时候就会调用b的One方法,从而输出8
2、这是a当中的Two方法中的One,还是会调用a中的One方法,所以会输出3
3、b.Two(a),出入a的实例。因为b是继承自a的,所以b也同样的有Two()方法,而b没有重写Two方法,所以还是调用父类a的Two方法,先执行a.One()输出7.
4、当执行完a.One(),之后接着执行One(),这个时候,因为b重写了a中的One方法,所以会执行b中的One()方法。输出4.
最新文章
- php安装配置那些事(本文纯属个人记事与技术无关)
- view--4种Android获取View宽高的方式
- VS2015+win10+opencv3.0整个安装过程
- 利用Meida Service的Java SDK来调用Azure Media Services的Index V2实现视频字幕自动识别
- PAT1023. Have Fun with Numbers
- 3D--知识点1
- php笔记06:http响应中的状态码
- [Javascript] Advanced Reduce: Additional Reducer Arguments
- poj 3616 Milking Time(dp)
- SQL中两种表复制语句
- CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动
- 20155214&;20155216 实验二:固件程序设计
- tshark的抓包和解析
- Maven 项目不打包 *.hbm.xml 映射文件
- “ sgen.exe ”已退出,代码为 1
- USACO 4.3 Letter Game (字典树)
- POJ.2299 Ultra-QuickSort (线段树 单点更新 区间求和 逆序对 离散化)
- Android解析JSON速度对比
- HBase中的TTL与MinVersion的关系
- SQL Server ->;>; WITH RESULT SETS子句