- 7
- 0
- 约8.73千字
- 约 53页
- 2017-07-12 发布于广东
- 举报
5.2.2 类的多态性 3.调用基类方法 当派生类重载或覆盖基类方法后,如果想调用基类的同名方法,可以使用base关键字。如,在Undergraduate类的Study方法中,希望使用基类的Study方法,可以用如下方法: public override void Study () { base. Study (); } 5.3 抽象类与接口 5.3.1 抽象类 5.3.2 接口 5.3.3 抽象类与接口的比较 5.3.1 抽象类 抽象方法是指在基类的定义中,不包含任何实现代码的方法,实际上就是一个不具有任何具体功能的方法。这样的方法唯一的作用就是让派生类重写。 而只要在类中包含一个抽象方法,该类即为抽象类。在抽象类中,也可以声明非抽象方法。 1.抽象类与抽象方法的声明 在C#中,抽象类和抽象方法使用关键字abstract声明,一般形式如下: public abstract class 抽象类名 { [访问修饰符] abstract 返回值类型 方法名([参数列表]) } 5.3.1 抽象类 抽象类中也可以有抽象属性。类的属性成员添加了abstract关键字后,就成了抽象属性。 抽象属性不提供属性访问器的实现,它只声明该类支持的属性,而将访问器的实现留给派生类。 抽象属性同样可以是只读的、只写的或可读写的属性。一般形式如下: public abstract返回值类型 属性名 { get; set; } 抽象类可以包含抽象的成员,如抽象属性和抽象方法,也可以包含非抽象的成员,甚至还可以包含虚方法。要注意的是,抽象成员必须在抽象类中声明,但抽象类不要求必须包含抽象成员 5.3.1 抽象类 2.重载抽象方法 抽象类中的抽象方法和抽象属性都没有提供实现,当定义抽象类的派生类时,派生类必须重载基类的抽象方法和抽象属性(如果派生类没有进行重载,则派生也必须声明为抽象类,即在类定义前加上abstract。 对于基类的虚方法,其派生类可以不重载。重载抽象类的方法和属性必须使用override关键字。重载抽象方法的格式为: public override方法名称([参数列表]){ } 其中,方法名称和参数列表必须与抽象类中的抽象方法完全一致。 5.3.1 抽象类 【实例5-5】抽象方法和抽象类演示。 5.3.2 接口 接口(interface)是C#的一种数据类型,属于引用类型。一个接口定义一个协定。接口可以包含方法、属性、事件和索引器,接口本身不提供它所定义的成员的实现,接口只指定实现该接口的类或结构必须提供的成员。实现某接口的类必须遵守该接口定义的协定,即必须提供接口成员的实现。 1.接口的声明 在C#中,声明接口使用interface关键字,一般形式如下: [访问修饰符] interface 接口名[ : 基接口列表] { //接口成员 } 5.3.2 接口 1.接口的声明 接口成员可以是属性、方法、索引器和事件,不能包含字段、构造函数等。 所有接口成员隐式地具有了public访问修饰符,因此,接口成员不能添加任何访问修饰符。 5.3.2 接口 2.接口的实现 接口主要用来定义一个规则,让企业内部或行业内部的软件开发人员按标准去实现应用程序的功能。因此,继承接口的类或结构必须实现接口中的所有属性、方法、索引器和事件,继承接口的方法与继承类相似 3.接口的继承 接口也可以继承其它接口,而接口可以多继承,即接口可以从多个接口继承,基接口名之间用逗号分隔。 5.3.2 接口 4.多重接口实现 C#不允许多重类继承,但是C#允许多重接口实现,这意味着一个类可以实现多个接口,如果一个Mobile类支持USB,也可以支持Bluetooth,我们就应该同时实现IUsb和IBluetooth接口,在继承时,两个接口之间用逗号分隔。其类的头部如下所示: public class Mobile : IUsb, IBluetooth 如果类Mobile是类phone的派生子类,也可以同时继承phone类。但要注意,基类必须在所有的接口之前,如: public class Mobile : Phone,IUsb, IBluetooth 5.3.2 接口 5.访问接口的方法 当类Mp3实现了IUsb后,我们可以通过MP3类的对象访问IUsb的成员,就好象是Mp3类的成员一样: Mp3 m = new Mp3(); lblShow.Text=m.TransData(计算机,MP3设备); 或者我们也可以将Mp3对象转换成接口类型,然后用这个接口来访问方法: Mp3 m = new
您可能关注的文档
- 新Visual Basic程序设计实用教程 教学课件 刘瑶 第3章 Visual Basic编程基础.ppt
- 新Visual Basic程序设计实用教程 教学课件 刘瑶 第4章 常用控件.ppt
- 新Visual Basic程序设计实用教程 教学课件 刘瑶 第5章 程序控制结构.ppt
- 新Visual Basic程序设计实用教程 教学课件 刘瑶 第6章 数组.ppt
- 新Visual Basic程序设计实用教程 教学课件 刘瑶 第7章 过程.ppt
- 新Visual Basic程序设计实用教程 教学课件 刘瑶 第8章 文件.ppt
- 新Visual Basic程序设计实用教程 教学课件 刘瑶 第9章 数据库基础.ppt
- 新Visual Basic程序设计应用教程 电子教案&源代码 薛晓萍 第2章 第2章 Visual Basic语言基础.ppt
- 新Visual Basic程序设计应用教程 电子教案&源代码 薛晓萍 第3章 第3章 程序设计基本结构.ppt
- 新Visual Basic程序设计应用教程 电子教案&源代码 薛晓萍 第4章 第4章 常用内部控件.ppt
最近下载
- 一年级第六单元数学题.doc VIP
- 七年级上册英语期末试卷及答案可打印免费.docx VIP
- 表11-1高速轴承端盖轴承端盖设计.docx VIP
- 2025年山东劳动职业技术学院单招笔试职业能力测验试题库含答案解析(5套共100道单选合辑).docx VIP
- 精品解析:广东省广州市2025-2026学年第一学期期末教学质量检测高二数学试卷(A卷)(原卷版).docx VIP
- 劳动争议法规培训课件.ppt VIP
- 牙体雕塑技术三倍大右下颌尖牙石膏牙雕刻课件.pptx VIP
- 线性代数教学课件(完整版).ppt
- 山东化工职业学院单招《数学》模拟试题及答案详解【新】.docx VIP
- 牙体雕刻技术(口腔医学技术) 参考课件 上颌第一磨牙牙体形态简述.ppt VIP
原创力文档

文档评论(0)