C#中对继承类修饰符的一点心得
2004-10-12 11:19
381 查看
virtual/override是一对修饰符,基类中需要使用virtual定义某个函数可以被重载,而在派生类中如果想重载基类的函数,需要使用override明确定义。
而abstract在函数级别上使用的话,就表示此函数在基类中不提供实现的代码,而必须在派生类实现。sealed正好相反,如果在类层次上,你不希望某个函数可以被重载,就应该使用sealed将他“锁”住,不允许派生类重载。
对于你第二个问题,interface中的任何函数都不可以有实现的代码,而abstract类就没有这个限制。另外,使用interface可以实现多重继承的概念,因为C#中规定派生类只能从1个类继承,但是却可以实现多个interface。
而abstract在函数级别上使用的话,就表示此函数在基类中不提供实现的代码,而必须在派生类实现。sealed正好相反,如果在类层次上,你不希望某个函数可以被重载,就应该使用sealed将他“锁”住,不允许派生类重载。
对于你第二个问题,interface中的任何函数都不可以有实现的代码,而abstract类就没有这个限制。另外,使用interface可以实现多重继承的概念,因为C#中规定派生类只能从1个类继承,但是却可以实现多个interface。
相关文章推荐
- C#调用DLL时参数问题的一点心得
- C# 中 Socket 进行数据接收的一点心得
- 20151024_004_C#基础知识(C#中的访问修饰符,继承,new关键字,里氏转换,is 和 as,多态,序列化与反序列化)
- 持久性保存技术的一点心得(C#)
- C#使用Webbrowser的一点心得体会
- 【心得体会】c#与java继承的时候,对方法覆盖的不同处理
- C#中委托如何使用?一点学习心得
- 通过实现继承TabActivity并且实现TabContentFactory的方法创建选项卡的一点心得
- C#中继承修饰符(virtual/abstract/sealed)
- C#调用DLL时参数问题的一点心得
- 关于C#中AutoResetEvent和ManualResetEvent的一点学习心得
- 通过实现继承TabActivity并且实现TabContentFactory的方法创建选项卡的一点心得
- 关于C#中AutoResetEvent和ManualResetEvent的一点学习心得
- C#继承中访问修饰符的区别
- C#中继承修饰符(virtual/abstract/sealed)
- C#基础知识复习1代码规范-执行流程(c#)-面向对象-引用命名空间-封装-继承-访问修饰符-虚方法-静态成员-多态-抽象类等
- C#继承中访问修饰符的区别
- C#使用Webbrowser的一点心得体会
- 20151024_004_C#基础知识(C#中的访问修饰符,继承,new关键字,里氏转换,is 和 as,多态,序列化与反序列化)
- C#继承(三)——修饰符