override和overload的区别
编辑: 面试啦 发布时间: 2023-09-18 08:16:18
override 表示重写,用于继承类对基类中虚成员的实现
overload 表示重载,用于同一个类中同名方法不同参数(包括类型不同或个数不同)的实现
示例:
using System;
using System.Collections.Generic;
using System.Text;
namespace Example07
{
class Program
{
class BaseClass
{
public virtual void F()
{
Console.WriteLine(“BaseClass.F”);
}
}
class DeriveClass : BaseClass
{
public override void F()
{
base.F();
Console.WriteLine(“DeriveClass.F”);
}
public void Add(int Left, int Right)
{
Console.WriteLine(“Add for Int: {0}”, Left + Right);
}
public void Add(double Left, double Right)
{
Console.WriteLine(“Add for int: {0}”, Left + Right);
}
}
static void Main(string[] args)
{
DeriveClass tmpObj = new DeriveClass();
tmpObj.F();
tmpObj.Add(1, 2);
tmpObj.Add(1.1, 2.2);
Console.ReadLine();
}
}
}
结果:
BaseClass.F
DeriveClass.F
Add for Int: 3
Add for int: 3.3
overload 表示重载,用于同一个类中同名方法不同参数(包括类型不同或个数不同)的实现
示例:
using System;
using System.Collections.Generic;
using System.Text;
namespace Example07
{
class Program
{
class BaseClass
{
public virtual void F()
{
Console.WriteLine(“BaseClass.F”);
}
}
class DeriveClass : BaseClass
{
public override void F()
{
base.F();
Console.WriteLine(“DeriveClass.F”);
}
public void Add(int Left, int Right)
{
Console.WriteLine(“Add for Int: {0}”, Left + Right);
}
public void Add(double Left, double Right)
{
Console.WriteLine(“Add for int: {0}”, Left + Right);
}
}
static void Main(string[] args)
{
DeriveClass tmpObj = new DeriveClass();
tmpObj.F();
tmpObj.Add(1, 2);
tmpObj.Add(1.1, 2.2);
Console.ReadLine();
}
}
}
结果:
BaseClass.F
DeriveClass.F
Add for Int: 3
Add for int: 3.3
词条:c面试题
上一篇:C#公司笔试题 下一篇:.net C#面试题
面试题库导航
- C++面试题
- JAVA面试题
- Oracle面试题
- MySQL面试题
- Linux面试题
- 网络工程师面试题
- 网管面试题
- 软件工程师面试题
- PHP面试题
- .net面试题
- 软件测试面试题
- EJB面试题
- Spring面试题
- Javascript面试题
- Python面试题
- QTP面试题
- Servlet面试题
- J2EE面试题
- Database面试题
- ASP面试题
- Unix面试题
- Loadrunner面试题
- 通信面试题
- 嵌入式面试题
- Ruby面试题
- Delphi面试题
- Mobile开发面试题
- SOA面试题
- JAVA面试题面试题
- 研发工程师面试题
- 软件架构师面试题
- 系统工程师面试题
- Android面试题
- JAVA程序员
- C#面试题