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
*/
}
}
查看全文
相关阅读:
启动Mysql后找不到服务或出现找不到指定文件
WEB-MVC模式图示
Java中Map集合的遍历方式
sun.misc.BASE64Encoder找不到jar包的解决方法
Tomcat常用的网站发布方式
Sql Server查询行号
Mysql下载安装问题
【数学】环逆序
【搜索】【the first editoral】OpenJudge 我是最快的马
The First Blog
原文地址:https://www.cnblogs.com/day/p/1517864.html
最新文章
ORACLE时间函数
mysql时间格式化,按时间段查询MYSQL语句
oracle decode case语法
jdbc批量插入
jdbc存储过程调用
MySQL常用函数大全
java精确数字计算
java enum demo
concurrent包中的Atomic类
ssh终端常用快捷键
热门文章
DNS服务详解
RHEL7系统管理之网络管理
cent7中kickstart
RHEL7系统管理之资源管理
RHEL7系统管理之内核管理
linux/OSX中“DD”命令制作ISO镜像操作系统安装U盘
redis-4.0.11主从配置初步探究
解决mysql数据库在web开发中的乱码问题
Java之动态代理
Mysql5.7修改root密码
Copyright © 2011-2022 走看看