- 6
- 0
- 约2.46千字
- 约 29页
- 2017-04-04 发布于江苏
- 举报
第六章 抽象类与接口
第六章 抽象类与接口 引入 基类中的某些方法无需实现,实现了没任何意义。例如Shape中的Draw方法。基类中没有意义的实现可以考虑使用抽象成员。 抽象成员 抽象成员是被设计来被覆写的成员,具有以下特征: 它被用abstract修饰符标记 它没有实现代码块。抽象成员的代码块被分号代替 访问权限不能是private属性 抽象成员示例 抽象成员 抽象成员其他特征: 尽管抽象方法必须在派生类中用相应的方法覆写,但不能把virtual修饰符附加到abstract修饰符。(基类中的虚方法是有实现体的) 像虚方法一样,派生类中抽象方法的实现必须指定override修饰符 抽象成员只能被声明在抽象类中 抽象类 抽象类只能被用作其他类的基类,抽象类就是被设计来被继承的。其特征: 不能创建抽象类的实例 抽象类使用abstract修饰符声明 抽象类 抽象类可以包含抽象成员,但不是必须的 抽象类的成员是抽象成员和普通成员的任意组合 抽象类自己可以派生自另一个抽象类 抽象类 抽象类 任何派生自抽象类的类必须使用override关键字实现该类所有的抽象成员,除非派生类自己也是抽象类 抽象方法的重要特征 抽象的方法具有多态性。 接口 接口是表示一组函数成员而不实现成员的引用类型。类和结构可以实现接口。 public interface IComparable { int CompareTo(object obj); } 声明接口 接口声明不包括数据成员 接口声明只能包含方法、属性、事件和索引 函数成员的声明不能包含任何实现代码,而在每一个成员声明的主体后必须使用分号。 声明接口 接口名称必须从大写的I开始 接口声明可以有任何访问修饰符 接口成员是隐式的public,不允许有任何访问修饰符 实现接口 只有类和结构能够实现接口,要实现接口,类和结构必须: 在基类列表中包括接口名称 为每一个接口的成员提供实现 如果类从基类继承并实现接口,基类列表中的基类名称必须放在任何接口之前 接口具有多态性 接口是引用类型的。可以通过接口的引用调用实现的方法。 实现多个接口 类或结构可以实现任意数量的接口 所有实现的接口必须列在基类列表中并以逗号分隔(如果有基类名称,则在其之后) 3.接口的声明与实现举例 using System; namespace TestInterface { interface Ifunction1 { int sum(int x1,int x2); } interface Ifunction2 { string str{get;set;} } class MyTest:Ifunction1,Ifunction2 //此处的:代表接口的实现 { private string mystr; //构造函数 public MyTest(){} //构造函数 public MyTest(string str) { mystr = str; } ? //实现接口Ifunction1中的方法 public int sum(int x1,int x2) { return x1+x2; } ? //实现接口Ifunction2中的属性 public string str { get { return mystr; } set { mystr=value; } } } class MainClass { public static void Main() { //直接访问实例 MyTest a=new MyTest(); Console.WriteLine(a.sum(10,20)); MyTest b=new MyTest(How are you); Console.WriteLine(b.str); //通过接口访问实例 Ifunction1 c=new MyTest(); Console.WriteLine(c.sum(20,30)); Ifunction2 d=new MyTest(This is a book!); Console.WriteLine(d.str); Console.Read(); } } } 输出结果: 30 How are you! 50 This is a book! 接口可以继承接口 C#常见的几个接口 IComparable接口 public interface IComparable {int
您可能关注的文档
- 流式细胞仪及其应用指南 : flow cytometry application guide.ppt.ppt
- 淄博世纪英才外语学校.ppt
- 清新简约校园招聘宣讲会公司简介PPT模板.pptx
- 湘少版三年级上册Unit-11-I-like-the-bird课件.pptx
- 湘教版八年级下Unit5Topic3SectionC课件.ppt
- 牛津英语八年级下Unit3Online tours Integrated skills.ppt
- 环保教育宣传模板 小学生主题班会PPT.pptx
- 生产物料控制print.pptx
- 特征提取_Part1_FeatExtr_pt1-2017s.pptx
- 用Sweet Home 3D打造温馨小家.doc
最近下载
- ISO9001 质量管理体系全套(质量手册+程序文件+表格记录全套).doc VIP
- 深度解析(2026)SYT 5794-2010《钻井液用沥青类评价方法》:从标准解读到未来油田化学智能化应用的战略前瞻.pptx VIP
- 2025-2030中国化学镀镍行业市场发展趋势与前景展望战略研究报告.docx
- 深度解析(2026)《SYT 7377-2017钻井液设计规范》.pptx VIP
- 《船体振动学》教学课件.pdf
- 操作系统Windows操作系统模型.pptx VIP
- 2025年山东省选调公务员考试真题汇编附答案解析(夺冠).docx VIP
- Windows操作系统翻译词汇.pdf
- 基于灰色关联理论的广西农产品供应链影响因素分析.docx
- 关于绑架的小故事-绑架关起来的故事.docx VIP
原创力文档

文档评论(0)