C#高级编程摘录 - 继承

继承作为面向对象的三大特性之一,对代码复用有着重要的作用,下面是一些C#中继承的小要点,都是犄角旮旯的东西。仅作参考:
1. 结构不支持继承
其实这么说不太确切,只是定义结构的时候,不能使用实现继承,所有的结构都是默认继承于System.ValueType的。而且结构也可以实现接口。
2. C#的Virtual
当函数标为Virtual的时候,该函数就可以在子类中被重写了。C#和Java对虚函数的处理的不同在于,Java的所有的函数都默认是虚函数,而C#出于性能考虑,只有被声明为虚函数的,才会被编译器识别为虚函数。
还有一点就是成员字段和静态函数不能被声明为Virtual.
这里不得不提到一个隐藏方法,C#为了类库的版本维护,可以在子类使用new关键字,隐藏父类的某个方法。
显示的调用父类的函数使用base.
3. 继承的构造函数的调用
很简单,就是一个构造函数被调用的时候,默认会在最开始调用父类的无参构造函数。这样一直一直的调用上去,一直到object为止,然后就开始调用自己的构造函数。
也可以显示规定调用父类的哪个构造函数:在构造函数后面加:base(...)就好了 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值