.Net面试简答题——每日掌握(二)

1.面向对象的三个特性?

  • 继承性:就是让一个类型的对象拥有另一个类型的对象的属性的方法。继承后,子类拥有父类的属性和方法。

  • 封装性:就是将数据和代码捆绑在一起,防止外界干扰。

  • 多态性:就是一个事物拥有不同形式的能力。

2.C#中的委托是什么?事件是不是一种委托?事件和委托的关系。

  • 委托可以把一个方法作为参数代入另一个方法。

  • 委托可以理解为指向一个函数的指针。

  • 委托和事件没有可比性,因为委托是类型,事件是对象,下面说的是委托的对象(用委托方式实现的事件)和(标准的event方式实现)事件的区别。事件的内部是用委托实现的。因为对于事件来讲,外部只能“注册自己+=、注销自己-=”,外界不可以注销其他的注册者,外界不可以主动触发事件,因此如果用Delegate就没法进行上面的控制,因此诞生了事件这种语法。事件是用来阉割委托实例的,类比用一个自定义类阉割List。事件只能add、remove自己,不能赋值。事件只能+=、-=,不能=。加分的补充回答:事件内部就是一个private的委托和add、remove两个方法

3.override与重载的区别

  • 重载是方法的名称相同,参数或参数类型不同,进行多次重载以适应不同的需要。Override是进行基类中函数的重写,为了适应需要。

©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页