`
sangei
  • 浏览: 329554 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

C#的virtual方法小结

阅读更多

        定义为virtual的方法可以在子类里被重写,使用override可以用自己的方法重写新的基类方法。

        class YourDerivedGraphicsClass : GraphicsClass
        {
           public override void DrawRectangle() { }
        }

        override 关键字可确保派生自 YourDerivedGraphicsClass 的任何对象都将使用 DrawRectangle 的派生类版本。 派生自 YourDerivedGraphicsClass 的对象仍可以使用基关键字访问 DrawRectangle 的基类版本。

     

         使用 new 关键字可告诉编译器您的定义将隐藏基类中包含的定义。 这是默认行为。

 

        没有定义virtural的方法,可以在子类里有相同的方法出现,默认使用new于子类的同名方法,从而隐藏父类的同名方法。

 

        如果方法是Virtual的,然后子类使用了override, 编译器就生产代码。然后,在运行的时候,进行检测,看对象属于哪个类,然后调用这个类的方法。

0
0
分享到:
评论

相关推荐

    Visual C# 2010程序设计教程(教程PPT+源代码)

    8.2.3 方法的继承与virtual、override及new关键字 8.2.4 sealed关键字与密封类 8.2.5 Abstract关键字与抽象类 8.3 多态性 …… 第9章 泛型 第10章 Windows窗体应用程序开发 第11章 C#数据库编程与ADO.NET 第12章 ...

    C#5.0本质论第四版(因文件较大传的是百度网盘地址)

    1.4 小结 20 第2章 数据类型 21 2.1 基本数值类型 21 2.1.1 整数类型 22 2.1.2 浮点类型 23 2.1.3 decimal类型 23 2.1.4 字面值 24 2.2 更多基本类型 27 2.2.1 布尔类型 27 2.2.2...

    C#本质论(第3版)

    1.9 小结 第2章 数据类型 2.1 基本数值类型 2.1.1 整数类型 2.1.2 浮点类型 2.1.3 decimal类型 2.1.4 字面值 2.2 更多基本类型 2.2.1 布尔类型 2.2.2 字符类型 2.2.3 字符串 2.3 null和void 2.3.1 null...

    亮剑.NET深入体验与实战精要2

    本章小结 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 ...

    亮剑.NET深入体验与实战精要3

    本章小结 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 ...

    亮剑.NET深入体验与实战精要.part4(完)

     本章小结  第2章 细节决定成败  2.1 equals()和运算符==的区别  2.2 const和readonly的区别  2.3 private、protected、public和internal的区别  2.4 sealed、new、virtual、abstract与override  2.5 ...

    亮剑.NET深入体验与实战精要.part3

     本章小结  第2章 细节决定成败  2.1 equals()和运算符==的区别  2.2 const和readonly的区别  2.3 private、protected、public和internal的区别  2.4 sealed、new、virtual、abstract与override  2.5 ...

    亮剑.NET:.NET深入体验与实战精要清晰版及源码

     本章小结  第2章 细节决定成败  2.1 equals()和运算符==的区别  2.2 const和readonly的区别  2.3 private、protected、public和internal的区别  2.4 sealed、new、virtual、abstract与override  2.5 ...

Global site tag (gtag.js) - Google Analytics