zoukankan
html css js c++ java
C# new and override
/// 测试点
/// (1) Override 与 new 的区别 (new后方法在父类与子类中各自存在,Override覆盖父类中函数)
/// (2) 子类 构造函数 的执行时间 (先执行父类构造函数,再执行子类构造函数)
public
class
baseClass
{
public
baseClass()
{
MethodOfOverride();
MethodOfNew();
}
public
virtual
void
MethodOfOverride()
{
Console.WriteLine(
"
baseClass:MethodOfOverride
"
);
}
public
void
MethodOfNew()
{
Console.WriteLine(
"
baseClass:MethodOfNew
"
);
}
}
public
class
derivedClass : baseClass
{
public
int
value;
public
derivedClass()
{
value
=
2
;
}
public
override
void
MethodOfOverride()
{
Console.WriteLine(
"
derivedClass:MethodOfOverride value=
"
+
value.ToString());
}
public
new
void
MethodOfNew()
{
Console.WriteLine(
"
derivedClass:MethodOfNew value=
"
+
value.ToString());
}
}
/**/
///
<summary>
///
测试点
///
(1) Override 与 new 的区别 (new后方法在父类与子类中各自存在,Override覆盖父类中函数)
///
(2) 子类 构造函数 的执行时间 (先执行父类构造函数,再执行子类构造函数)
///
</summary>
class
Program
{
static
void
Main(
string
[] args)
{
Console.WriteLine(
"
*********baseClass tempClassA = new baseClass()*********
"
);
Console.WriteLine(
"
----------------初始化输出----------------------
"
);
baseClass tempClassA
=
new
baseClass();
Console.WriteLine(
"
----------------下面方法输出------------------------
"
);
tempClassA.MethodOfOverride();
tempClassA.MethodOfNew();
Console.WriteLine(
"
*********derivedClass tempClassB = new derivedClass()*********
"
);
Console.WriteLine(
"
----------------下面初始化输出----------------------
"
);
derivedClass tempClassB
=
new
derivedClass();
Console.WriteLine(
"
----------------下面方法输出------------------------
"
);
tempClassB.MethodOfOverride();
tempClassB.MethodOfNew();
Console.WriteLine(
"
*********baseClass tempClassC = new derivedClass()*********
"
);
Console.WriteLine(
"
----------------下面初始化输出----------------------
"
);
baseClass tempClassC
=
new
derivedClass();
Console.WriteLine(
"
----------------下面方法输出------------------------
"
);
tempClassC.MethodOfOverride();
tempClassC.MethodOfNew();
Console.Read();
//
/**/
/*
输出结果
*********baseClass tempClassA = new baseClass()*********
----------------初始化输出----------------------
baseClass:MethodOfOverride
baseClass:MethodOfNew
----------------下面方法输出------------------------
baseClass:MethodOfOverride
baseClass:MethodOfNew
*********derivedClass tempClassB = new derivedClass()*********
----------------初始化输出----------------------
derivedClass:MethodOfOverride value=0
baseClass:MethodOfNew
----------------下面方法输出------------------------
derivedClass:MethodOfOverride value=2
derivedClass:MethodOfNew value=2
*********baseClass tempClassC = new derivedClass()*********
----------------初始化输出----------------------
derivedClass:MethodOfOverride value=0
baseClass:MethodOfNew
----------------下面方法输出------------------------
derivedClass:MethodOfOverride value=2
baseClass:MethodOfNew
*/
}
}
查看全文
相关阅读:
AS报错
第二章课下测试补交博客
第七章课下测试总结
2017-2018-1 20155235 20155211 实验四 外设驱动程序设计
2017-2018-1 20155235 《信息安全系统设计基础》第十一周学习总结
pwd命令的实现
2017-2018-1 20155235 实验三 实时系统 实验内容
2017-2018-1 20155235 《信息安全系统设计基础》第九周学习总结
20155219 20155224 20155235 信息安全技术概论 第三次实验报告
2017-2018-1 20155235 《信息安全系统设计基础》第八周学习总结
原文地址:https://www.cnblogs.com/day/p/1517864.html
最新文章
11月23号站立会议
11月22号站立会议
二叉树——实现堆结构
二叉树——由中根序列和后根序列重建二叉树
二叉树——UVA122
二叉树——UVA679
线性表——约瑟夫问题(递推未完)
栈——HDU1022
栈——出栈序列统计
栈——密码翻译
热门文章
关于Warshall、Roy对寻找传递闭包方法的不同表达的探讨
CString、string、char*之间的转化
Mat数据类型与访问
MFC中InvalidateRect()与Invalidate()
c++中auto与decltype
基于BaseAdapter的GridView设置ImageView大小
java数组元素的输出
ImageView的scaleType属性
字符串初始化
C++四中强制类型转换
Copyright © 2011-2022 走看看