网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月11日漏签0天
广东信息科技职业...吧 关注:1,716贴子:17,672
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 0回复贴,共1页
<<返回广东信息科...吧
>0< 加载中...

C#继承

  • 只看楼主
  • 收藏

  • 回复
  • 超级加倍678
  • 初涉江湖
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
C#继承
有实现继承和接口继承
表示一个类型派生于一个基类型,它拥有该基类型的所有成员字段和函数。在实现继承中,派生类型采用基类型的每个函数的实现代码,除非在派生类型的定义中指定重写某个函数的实现代码。在需要给现有的类型添加功能,或许多相关的类型共享一组重要的公共功能时,这种类型的继承非常有用。
表示一个类型只继承了函数的签名,没有继承任何实现代码。在需要指定该类型具有某些可用的特性时,最好使用这种类型的继承。
一些语言支持所谓的“多重继承”,即一个类派生自多个类。使用多重继承的优点是有争议的:一方面,毫无疑问,可以使用多重继承编写非常复杂、但很紧凑的代码,如C++ATL库。另一方面,使用多重实现继承的代码常常很难理解和调试。如前所述,简化健壮代码的编写工作是开发C#的重要设计目标。因此,C#不支持多重实现继承。而C#又允许类型派生自多个接口一多重接口继承。这说明,C#类可以派生自另一个类和任意多个接口。更准确地说,因为System.Object是一个公共的基类,所以每个C#类都有一个基类,还可以有任意多个基接口。
分了结构和类。使用结构的一个限制是结构不支持继承,但每个结构都自动派生自System. ValueType。不能编码实现类型层次的结构,但结构可以实现接口。换言之,结构并不支持实现继承,但支持接口继承。定义结构和类可以总结为:.结构总是派生自System.ValueType,它们还可以派生自任意多个接口。类总是派生自System.Object或用户选择的另一个类,它们还可以派生自任意多个接口。
把一个基类函数声明为virtual,就可以在任何派生类中重写该函数:
C#中虚函数的概念与标准OOP的概念相同:可以在派生类中重写虚函数。在调用方法时,会调用该类对象的合适方法。在C#中,函数在默认情况下不是虚拟的,但(除了构造函数以外)可以显式地声明为virtual。这遵循Cu+的方式,即从性能的角度来看,除非显式指定,否则函数就不是虚拟的。而在Java中,所有的函数都是虚拟的。但C#的语法与C1+的语法不同,因为C#要求在派生类的函数重写另一个函数时,要使用override关键字显式声明<span style=";font-family:"&color:#333333">
重写方法的语法避免了C中很容易发生的潜在运行错误:当派生类的方法签名无意中与基类版本略有差别时,该方法就不能重写基类的方法。在C#中,这会出现一个编译错误,因为编译器会认为函数已标记为override,但没有重写其基类的方法。成员字段和静态函数都不能声明为virtual,因为这个概念只对类中的实例函数成员有意义。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 0回复贴,共1页
<<返回广东信息科...吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示