




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第八章,接口,目标,接口的声明 接口的成员 接口的实现 接口的继承 抽象类,体验,设计主板、网卡、声卡三个类和一个PCI接口。通过它们的对话说明接口的作用和功能。,接口声明,访问修饰符 interface /声明主体 例: interface IControl void Paint(); ,接口成员2-1,接口的成员包括从基接口继承的成员和由接口本身声明的成员。 接口的成员必须是方法、属性、事件或索引器。 接口不能包含常量、字段、运算符、构造函数、析构函数,也不能包含任何种类的静态成员。,接口成员2-2,所有接口成员都隐式地具有public访问属性。 接口成员声明中包含任何修饰符都属于编译时错误。 例: public delegate void StringListEvent(IStringList sender); public interface IStringList void Add(string s); /方法 int Count get; /属性 event StringListEvent Changed; /事件 string thisint index get; set; /索引器 ,接口实现,接口可以由类和结构来实现 为了指示类或结构实现了某接口,在该类或结构的基类列表中应该包含该接口的标识符。 例: interface ICloneable object Clone(); interface IComparable int CompareTo(object other); class ListEntry: ICloneable, IComparable public object Clone() . public int CompareTo(object other) . ,接口成员访问,接口成员是通过I.M形式的成员访问表达式和IA形式的索引器访问表达式来访问的,其中I是接口类型,M是该接口类型的方法、属性或事件,A是索引器参数列表。,多义性2-1,对于多重继承接口,当两个或更多个不相关(互不继承)的基接口中声明了具有相同名称或签名的成员时,就会发生多义性。 在所有情况下,都可以使用显式强制转换来解决这种多义性。 例:,多义性2-2,interface IInteger void Add(int i); interface IDouble void Add(double d); interface INumber: IInteger, IDouble class C void Test(INumber n) n.Add(1); n.Add(1.0); (IInteger)n).Add(1); (IDouble)n).Add(1); ,同名方法声明,接口继承2-1,接口可以实现继承,而且还可以实现多重继承。例: interface IBase void F(int i); interface ILeft: IBase new void F(int i); interface IRight: IBase void G(); ,interface IDerived: ILeft, IRight class A void Test(IDerived d) d.F(1); (IBase)d).F(1); (ILeft)d).F(1); (IRight)d).F(1); ,接口继承2-2,当接口方法被映射到类中的虚方法上时,从该类派生的类若重写了该虚方法,则将同时更改该接口的实现。例: interface IControl void Paint(); class Control: IControl public virtual void Paint() . class TextBox: Control public override void Paint() . ,调用: Control c = new Control(); TextBox t = new TextBox(); IControl ic = c; IControl it = t; c.Paint(); t.Paint(); ic.Paint(); it.Paint();,抽象类,抽象类也必须为在该类的基类列表中列出的接口中所有成员提供它自己的实现。 允许抽象类将接口方法映射到抽象方法上。,interface IMethods void F(); void G(); abstract class C: IMethods void IMethods.F() FF(); void IMethods.G() GG(); protected abstract void FF(); protected abstract void GG(); ,interface IMethods void F(); void G(); abst
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中学宪法考试试题及答案
- 国家能源六盘水市2025秋招财务审计类面试追问及参考回答
- 兰州市中石化2025秋招笔试行测50题速记
- 舟山市中石油2025秋招笔试模拟题含答案法律与合规岗
- 2025年中考急救考试题及答案
- 职业生涯规划试题及答案
- 益阳市中石油2025秋招笔试模拟题含答案安全环保与HSE岗
- 大唐电力铁岭市2025秋招网申填写模板含开放题范文
- 国家能源汕尾市2025秋招笔试思维策略题专练及答案
- 中国移动盐城市2025秋招笔试题库含答案
- 2025广东房屋租赁合同范本官方版
- 2025定制衣柜安装承揽合同范本
- 2025年MicroLED行业研究报告及未来行业发展趋势预测
- 《彩虹》课件 部编版语文二年级上册
- 2025年全国企业员工全面质量管理知识竞赛试题及答案
- 2025《煤矿安全规程》新旧对照专题培训
- 水下激光探测-洞察及研究
- 7.2 量身高(课件)-2025-2026学年三年级数学上册北师大版
- DB44∕T 2499-2024 海堤生态化建设技术导则
- GWZBQ-10(6)G 型微机高压启动器保护装置产品使用说明书
- 腰椎管狭窄症病例讨论
评论
0/150
提交评论