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
*/
}
}
查看全文
相关阅读:
TensorRT推理加速基于Tensorflow(keras)的uff格式模型(文件准备)
pandas_format06
docker01
pandas_dataformat03
pandas_dataformat02
pandas_series04
pandas_format05
pandas_format04
pandas_dataframe01
pandas_series03
原文地址:https://www.cnblogs.com/day/p/1517864.html
最新文章
分页存储过程练习(一)
我认为比较好的分页存储过程
C#对文件的操作
Spring&Mybatis整合配置
11月阅读笔记03
2021.11.18(hive架构原理)
2021.11.16(hive入门)
2021.11.17(hive优缺点)
2021.11.11(职责链模式java类实现)
2021.11.19(hive运行机制)
热门文章
12月1
12月3
12月2
11月30
12月8
12月7
12月5
12月3
12月6
12月4
Copyright © 2011-2022 走看看