`
ihuashao
  • 浏览: 4769481 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

重载、覆写 C#

阅读更多
重载:(2必须1可以) 方法名必须相同
参数列表必须不相同
返回类型可以不相同

覆写:(3相同) 方法名必须相同
参数列表必须相同
返回类型必须相同

若要在派生类中使用基类的方法:则使用base关键字,例:base.方法名()

virtualvirtual
override(覆写) new(不覆写)

abstract抽象方法:1、必须是被派生类覆写的方法
2、可以看成是没有实现体的方法
3、若类中包含抽象方法,则类必须定义为抽象类,不论是否还包含其他方法
例:
classclassA
{
publicvirtualvoidFunc()
{
Console.WriteLine(
"FuncA()");
}
}
classclassB:classA
{
publicnewvoidFunc()//new表示不覆写,调用类A中的方法
{
Console.WriteLine(
"FuncB()");
}
publicoverridevoidFunc()//override表示覆写,调用类B中的方法
{
Console.WriteLine(
"FuncB()");
}
}
staticvoidMain()
{
classAaa
=newclassB();
Console.WriteLine(
"aa'stypeis:"+aa.GetType());
aa.Func();
}
分享到:
评论

相关推荐

    C#面试题,C#面试题

    在面试中,C#的知识点涵盖广泛,包括语法、类与对象、继承、接口、抽象类、访问修饰符、方法重载与覆写等多个方面。下面我们将深入探讨这些核心概念。 1. **属性访问器**:在C#中,属性(Property)是封装数据的一...

    C# 基础知识问答!!!!!!!!!

    这里我们将深入探讨C#的一些基础知识,包括类、继承、访问修饰符、构造函数、重载和覆写、抽象类与接口以及字符串处理。 1. **属性的set方法**:在C#中,当你定义一个属性时,可以通过set方法设置其值。set方法有一...

    C#程序员面试问题及答案

    知识点:重载和覆写是面向对象编程的基本概念,区别在于重载是方法签名不同,覆写是子类改变父类方法行为。 10. 在方法定义中,virtual 有什么含意? 答案:被 virtual 修饰的方法可以被子类覆写。 知识点:...

    C#面试题,C#面试经典题

    9. 重载和覆写有什么区别? 答案:重载提供了对一个方法签名的不同参数调用的实现。覆写提供了子类中改变父类方法行为的实现。 10. 在方法定义中,virtual有什么含意? 答案:被virtual修饰的方法可以被子类覆写...

    最全C#经典面试题集合

    9. **重载与覆写**:重载是提供相同名称但参数列表不同的方法,而覆写是在子类中重新定义父类的虚方法。覆写的方法签名必须与被覆写的方法一致,除了`override`关键字。 10. **virtual与override**:`virtual`...

    c#经典题目

    重载与覆写的区别 重载(Overload)是指在同一类型中,使用相同的方法名但具有不同的参数列表(参数类型、数量或顺序不同),以实现多态性。而覆写(Override)是在派生类中重新定义基类的虚方法,以改变或扩展其...

    Visual C#程序员面试基础问题和答案.doc

    9. **重载与覆写**:重载是在同一类中提供不同参数列表的方法;覆写是在子类中改变父类方法的行为,要求方法签名一致,且在子类方法上使用`override`关键字。 10. **virtual关键字**:表示一个方法可以被子类覆写。...

    C#3.0语言规范(简体中文)

    - **方法重载**:介绍如何通过方法重载实现多态性。 - **其他函数成员**: - **构造函数**:解释构造函数的作用及其在对象初始化中的重要性。 - **属性**:介绍如何使用属性来封装数据访问。 - **索引器**:...

    面试题集锦(C#,java)

    - C#通过`override`关键字覆写父类方法,`hide`是隐式覆写。 - Java中覆写必须显式使用`@Override`注解,如果没有,则是隐藏父类方法。 17. **参数传递**: - C#支持`ref`和`out`参数,允许传递引用。 - Java只...

    21 天学通 C#电子书.rar

    - **多态**:接口、抽象类和虚方法的应用,理解覆写和重载的区别。 - **访问器**:理解getter和setter的用途,以及属性的使用。 3. **数组与集合** - **数组**:一维、多维数组的声明、初始化和操作。 - **集合...

    最新C#复习资料---实验报告单全部问题解答

    【C#语言基础与特性】 1. **C#与.NET平台的区别**: C#是一种在.NET Framework或.NET Core上运行的高级编程语言,而.NET平台提供了跨语言的开发环境。在传统开发模式中,代码直接编译为机器码,运行速度快但安全性...

    c#面试问题

    9. **重载与覆写**:重载是指在同一个类中,根据不同的参数列表定义相同名称的方法。覆写是指子类中定义与父类同名且签名相同的方法,以改变父类的实现。 10. **virtual关键字**:当一个方法被标记为virtual时,...

    精品(2021-2022年)资料软件开发c#.doc

    以上就是C#编程基础与特性的详细解释,涵盖了属性、继承、访问修饰符、构造函数、基类、方法重载和覆写、抽象类和接口、常量与只读字段、字符串、类与结构的区别,以及委托和事件处理等关键知识点。

    C#使用中常见问题整理

    `overload`则是方法重载,允许在同一类中拥有多个同名方法,但参数列表不同。 ### 8. 什么是索引指示器? 索引指示器允许类像数组一样使用下标访问元素,提高了代码的可读性和表达力。 ### 9. new修饰符是起什么...

    Effective_C#_中文版改善C#程序的50种方法

    接口实现与虚函数重载的区别在于,接口用于实现多态,而虚函数重载允许在派生类中覆写基类的方法。 在设计回调和事件接口时,应使用委托和事件来定义外部接口,避免返回内部类对象的引用,这样可以减少潜在的耦合和...

    c#面试题130

    C#面试题涵盖了多个核心知识点,包括访问修饰符、页面间值传递、递归算法、委托与事件、方法的重载与覆盖、B/S架构中的数据传递、控件操作、排序算法、索引器、数学表达式计算以及软件架构设计。下面将对这些知识点...

Global site tag (gtag.js) - Google Analytics