C# 覆盖与override 的使用区别 示例
来源:互联网 发布:淘宝宝贝上架时间设置 编辑:程序博客网 时间:2024/05/15 12:10
class myFirst
{
int value_myFirst;
public myFirst(int f)
{
value_myFirst = f;
}
public void f1()
{
System.Console.WriteLine("myFirst.f1()!");
}
public virtual void f2()
{
System.Console.WriteLine("myFirst.f2()!");
}
}
class mySecond : myFirst
{
int value_mySecond;
public mySecond(int s)
: base(s)
{
value_mySecond = s;
}
//使用关键字new覆盖基类中的同名方法
public new void f1()//new也可以提到最前面
{
System.Console.WriteLine("mySecond.f1()");
}
//基类函数中声明是virtual,必须用override覆盖
public override void f2()//override也可以提到最前面
{
System.Console.WriteLine("mySecond.f2()!");
}
}
class Program
{
static void Main(string[] args)
{
myFirst mf = new myFirst(1);
mySecond ms = new mySecond(2);
mf.f1();
mf.f2();
ms.f1();
ms.f2();
mf = ms;
mf.f1();
mf.f2();
//如果 是new,那么结果是myFirst.f2()
Console.Read();
}
}
{
int value_myFirst;
public myFirst(int f)
{
value_myFirst = f;
}
public void f1()
{
System.Console.WriteLine("myFirst.f1()!");
}
public virtual void f2()
{
System.Console.WriteLine("myFirst.f2()!");
}
}
class mySecond : myFirst
{
int value_mySecond;
public mySecond(int s)
: base(s)
{
value_mySecond = s;
}
//使用关键字new覆盖基类中的同名方法
public new void f1()//new也可以提到最前面
{
System.Console.WriteLine("mySecond.f1()");
}
//基类函数中声明是virtual,必须用override覆盖
public override void f2()//override也可以提到最前面
{
System.Console.WriteLine("mySecond.f2()!");
}
}
class Program
{
static void Main(string[] args)
{
myFirst mf = new myFirst(1);
mySecond ms = new mySecond(2);
mf.f1();
mf.f2();
ms.f1();
ms.f2();
mf = ms;
mf.f1();
mf.f2();
//如果 是new,那么结果是myFirst.f2()
Console.Read();
}
}
- C# 覆盖与override 的使用区别 示例
- C#基础巩固——重写(override)修饰与覆盖(new)修饰的区别
- 重载(overload)与覆盖(override)的区别
- JAVA:重载overload与覆盖(重写)override的区别
- 重载(overload)覆盖(override)与隐藏 的区别
- C# override与new的区别
- C#中override重写与new隐藏的区别,以及C#与Java的Override区别
- C#中override重写与new隐藏的区别,以及C#与Java的override区别
- C#中override重写与new隐藏的区别,以及C#与Java的Override区别
- 什么是方法覆盖(override)并说明方法覆盖与方法重载(overioad)的区别
- 重载(overload)、覆盖(override)的区别
- 覆盖override和重载overload的区别
- C#重载与覆盖的区别
- C#中重写(override)和覆盖(new)的区别
- C#中重写(override)和覆盖(new)的区别
- C#中重写(override)和覆盖(new)的区别
- C#中重写(override)和覆盖(new)的区别
- C#中重写(override)和覆盖(new)的区别
- 华为软件研发面试题
- WebService的简单安全
- MyEclipse8.5开发环境配置中SVN插件安装重点解析
- js setTimeout opener 的用法
- Axure动态面板实例:制作Tab页签
- C# 覆盖与override 的使用区别 示例
- OMAP35360内核移植
- android - JNI接口函数 (1)
- C# 方法的覆盖 例子注解
- Linux查找替换及计算命令
- 简要记录浮点型数据的二进制存储格式
- android - JNI接口函数 (2)
- C#的值传递实例
- 事件机制和观察者模式