定义为virtual的方法可以在子类里被重写,使用override可以用自己的方法重写新的基类方法。
class YourDerivedGraphicsClass : GraphicsClass
{
public override void DrawRectangle() { }
}
override 关键字可确保派生自 YourDerivedGraphicsClass 的任何对象都将使用 DrawRectangle 的派生类版本。 派生自 YourDerivedGraphicsClass 的对象仍可以使用基关键字访问 DrawRectangle 的基类版本。
使用 new 关键字可告诉编译器您的定义将隐藏基类中包含的定义。 这是默认行为。
没有定义virtural的方法,可以在子类里有相同的方法出现,默认使用new于子类的同名方法,从而隐藏父类的同名方法。
如果方法是Virtual的,然后子类使用了override, 编译器就生产代码。然后,在运行的时候,进行检测,看对象属于哪个类,然后调用这个类的方法。
相关推荐
8.2.3 方法的继承与virtual、override及new关键字 8.2.4 sealed关键字与密封类 8.2.5 Abstract关键字与抽象类 8.3 多态性 …… 第9章 泛型 第10章 Windows窗体应用程序开发 第11章 C#数据库编程与ADO.NET 第12章 ...
- **1.4 小结** - 本章简要介绍了Microsoft .NET的背景和概念,以及C#语言与.NET的关系及其主要特点。通过学习这些基础知识,读者可以更好地理解后续章节中涉及的技术细节。 **第二章:运行环境** - **2.1 .NET...
- **1.4 小结** - 本章总结了.NET平台的概念以及C#语言的关键特点,为后续的学习打下了基础。 ##### 第二章:运行环境 - **2.1 .NET结构** - .NET框架主要包括公共语言运行时(CLR)和.NET Framework类库两大...
- **虚方法**:使用virtual关键字声明虚方法。 - **重写方法**:使用override关键字重写虚方法。 - **抽象类**:不能实例化的类,用于定义模板。 **14.3 抽象与密封** - **抽象方法**:没有实现的虚方法。 - **...
### 小结 通过本文的讲解,我们可以看出委托和事件是C#中非常重要的特性,它们为我们提供了强大的功能,使我们的代码更加灵活、模块化和易于维护。无论是多线程编程、GUI编程还是通用库的设计,委托和事件都能发挥...
#### 四、小结 通过以上介绍可以看出,C#中的继承机制非常强大,它提供了多种方式来实现类之间的关系和行为的重用。正确理解和使用继承对于开发高质量的C#应用程序至关重要。需要注意的是,在设计类层次结构时应...
**8.3 小结** 事件是面向对象编程中的一个强大工具,用于实现组件之间的松耦合通信。通过使用事件,可以创建更加灵活和可扩展的应用程序架构。 --- 通过上述总结,我们可以看到C#作为一种面向对象的编程语言,...
#### 小结 本文深入探讨了C#中关于属性访问器的重要概念,包括抽象属性声明和覆盖属性声明的特点及使用场景。理解这些概念对于开发高质量的C#应用程序至关重要。通过合理的使用抽象属性和覆盖属性,可以提高代码的...
本章小结 77 第2章 细节决定成败 79 2.1 Equals()和运算符==的区别 80 2.2 const和readonly的区别 82 2.3 private、protected、public和internal的区别 86 2.4 sealed、new、virtual、abstract与override 87 2.5 ...
本章小结 77 第2章 细节决定成败 79 2.1 Equals()和运算符==的区别 80 2.2 const和readonly的区别 82 2.3 private、protected、public和internal的区别 86 2.4 sealed、new、virtual、abstract与override 87 2.5 ...
本章小结 第2章 细节决定成败 2.1 equals()和运算符==的区别 2.2 const和readonly的区别 2.3 private、protected、public和internal的区别 2.4 sealed、new、virtual、abstract与override 2.5 ...
本章小结 第2章 细节决定成败 2.1 equals()和运算符==的区别 2.2 const和readonly的区别 2.3 private、protected、public和internal的区别 2.4 sealed、new、virtual、abstract与override 2.5 ...