![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
idch99
正行,正知,正念。
展开
-
C#之虚函数
若一个实例方法声明前带有virtual关键字,那么这个方法就是虚方法。 虚方法与非虚方法的最大不同是,虚方法的实现可以由派生类所取代,这种取代是通过方法的重写实现的(以后再讲) 虚方法的特点: 虚方法前不允许有static,abstract,或override修饰符 虚方法不能是私有的,因此不能使用private修饰符 虚方法的执行: 我们知道一般函数在编译时就静态地编译到了执行文件中转载 2015-01-28 05:04:58 · 556 阅读 · 0 评论 -
C#之重载与覆盖
overload:重载指的是同一个类中有两个或多个名字相同但是参数不同的方法,(注:返回值不能区别函数是否重载),重载没有关键字。 override:过载也称重写是指子类对父类中虚函数或抽象函数的“覆盖”(这也就是有些书将过载翻译为覆盖的原因),但是这种“覆盖”和用new关键字来覆盖是有区别的。 new:覆盖指的是不同类中(基类或派生类)有两个或多个返回类型、方法名、参数都相同,但是方法体不同转载 2015-01-28 05:06:01 · 463 阅读 · 0 评论 -
浅析C#中new、override、virtual关键字的区别
最近偶简单的复习了下在C#中涉及到继承这个特性时,所需要用到的关键字,其中有一些关键点,特地整理出来,方便大家查阅。在微软的一次笔试和面试中也提到了这个问题: 一、在C#中,new这个关键字使用频率非常高,主要有3个功能: a) 作为运算符用来创建一个对象和调用构造函数。 b) 作为修饰符。 c) 用于在泛型声明中约束可能用作类型参数的参数的类型。 在本转载 2015-01-28 05:15:16 · 698 阅读 · 0 评论 -
new 修饰符(msdn C# 参考)
在用作声明修饰符时,new 关键字可以显式隐藏从基类继承的成员。 隐藏继承的成员时,该成员的派生版本将替换基类版本。 虽然可以不使用 new 修饰符来隐藏成员,但将收到编译器警告。 如果使用 new 来显式隐藏成员,将禁止此警告。 若要隐藏继承的成员,请使用相同名称在派生类中声明该成员,并使用 new 修饰符对其进行修饰。 例如: C#转载 2015-01-28 05:19:27 · 540 阅读 · 0 评论 -
c#函数覆盖、隐藏、重载个人总结
(一)在子类中使用new时,隐藏了父类同型函数,如果不用new编译器报警告。隐藏的效果是调用申明类型的函数定义执行,如: class A { void Fun(); } class B:A { new void Fun(); } A a = new B(); A为申明类型,B为实例类型,则a.Fun()执行A.Fun(),如申明为B b = new B(); b.Fun()执行原创 2015-01-28 06:51:36 · 1324 阅读 · 0 评论