- 0
- 0
- 约2.92千字
- 约 19页
- 2019-08-30 发布于湖北
- 举报
第5章面向对象程序设计进阶 5.1 继承 5.1.1 继承概述 5.1.1 继承概述 从面向对象程序设计的观点来看,继承表示类之间存在一种一般与特殊的关系,这种关系使得某类对象可以继承另外一类对象的特征。 表示一般的类称为基类或超类,表示特殊的类称为派生类或子类。派生类继承了基类的所有特征,同时又可以加入自己的特征。 继承是面向对象程序设计的基本特征之一,它允许派生类继承基类的数据成员和成员函数。同时,派生类又可以添加新的成员或者对基类已有成员进行重定义 继承体现了代码重用思想。 5.1.2 定义派生类 定义派生类的格式: 类修饰符 class 类名 :基类 { 类体 } 在类定义中,通过在类名的后面加上冒号和基类名表示继承。其它内容与定义类一样。 【例5-1】 定义派生类Student P104 5.1.3 派生类的构造函数 在C#中,构造函数不能被继承。因此,在派生类中必须定义派生类的构造函数。 派生类构造函数的一般格式: 派生类构造函数名(派生类参数列表) : base(基类参数列表) { 初始化语句 } 当生成派生类对象时,构造函数的执行顺序为:首先执行基类构造函数,然后再执行派生类的构造函数。 【例5-2】 派生类构造函数的执行顺序 P106 5.1.4 访问和隐藏基类成员 1.访问基类成员 在派生类中使用base关键字访问基类成员。base.Speak() 2.成员隐藏 在派生类中,通过定义与基类同名的新成员可以隐藏基类的成员,从而达到修改基类成员的目的。必须在派生类成员的声明中加上new修饰符,否则编译器在编译时会发出警告信息。 【例5-3】访问和隐藏基类成员 P108 5.1.5 禁止继承 C#提供一种不能被继承的类,称为密封类。如果想定义密封类,只需要在定义类时,使用sealed修饰符就可以了。 【例5-4】 使用密封类 P110 5.1.6 使用扩展 使用扩展方法可以向现有类中添加新的方法,而无需创建新的派生类或以其他方式修改原始类。扩展方法是在静态类中定义的特殊静态方法,但它可以像扩展类中的实例方法一样被调用。 定义扩展方法的格式: public static 返回值类型 扩展方法名(this 要扩展的类 [扩展方法的参数列表]) 在this关键字的后边指定要扩展的类;如果扩展方法带有参数的话,应该在扩展类的后边给出参数列表。 调用扩展方法必须遵循以下步骤: 使用using指令导入定义扩展方法的静态类所在的命名空间; 像调用类的实例方法一样调用扩展方法。 【例5-5】 为int类型添加扩展方法 P111 5.2 抽象类与接口 5.2.1 抽象类 抽象类表示一种抽象的概念,用来为派生类提供一个公共接口。 抽象类只能作为其它类的基类,不能实例化。抽象类所定义的接口,必须由派生类具体实现。 抽象类可以包含抽象方法和抽象属性,也可以包含实例字段和实例方法。 1.定义抽象类 使用abstract修饰符定义类即可定义抽象类。 5.2.1 抽象类 2.抽象方法 抽象方法是一个只有方法签名,而没有方法体的特殊方法。抽象方法的声明格式: 访问修饰符 abstract 返回值类型 方法名(参数列表); 在派生类中,必须实现抽象方法。格式: 访问修饰符 override返回值类型 方法名(参数列表) { 方法体 } 5.2.1 抽象类 3.抽象属性 抽象属性的声明格式: 访问修饰符 abstract 返回值类型 属性名{ get; set; } 在派生类中,必须实现抽象属性。具体格式: 访问修饰符 override返回值类型 属性名{ get{ get访问器代码块 } set{ set访问器代码块 } } 【例5-6】 使用抽象类 P113 5.2.2 接口 1. 接口声明 接口声明是一种类型声明,它定义一个新的接口类型。接口声明格式: 接口修饰符 interface 接口名 : 基接口{ 接口体 } 接口可以包含方法、属性、索引和事件。 接口可以从零或多个接口继承,被继承的接口称为该接口的显式基接口 public interface IShape { double GetArea(); string Type { get; } } 5.2.2 接口 2. 接口实现 由于接口不提供实现,所以必须使用类和结构来实现。 【例5-7】 实现IShape接口 P115 5.3 多态 5.3.1 多态概述 多态性是指不同对象收到相同消息时,会产生不同动作。从而实现“一个接口,多种方法”。比如,向MP3发送“播放”消息,它会播放音乐,而向DVD发送“播放”消息,它会播放电影。 C#支
您可能关注的文档
- 美学第五讲:人的美.ppt
- 魅力口才-公众演说技巧.ppt
- 魅力女性ppt 有享云商 春秋东航.ppt
- 魅力讲师形体+声音.ppt
- 镁合金牺牲阳极埋地管道施工应用.ppt
- 门电路组成的多谐振荡器.ppt
- 门店商品结构设计.ppt
- 门电路-数字部分.ppt
- 门禁基础培训资料.ppt
- 门电路和组合逻辑电路1可用.ppt
- 人教版三年级数学经典奥数题训练50(含答案)图文百度文库.pdf
- 东莞汇景希尔顿酒店机电总包工程招标清单(一次机电部分).pdf
- 机电物流商业计划书与可行性报告.pdf
- 江宁路项目可行性研究-装修房商业计划书与可行性报告.pdf
- 飞机勤务培训4-10 各类油液勤务1a.pdf
- 本田机器人专利JPA_2015054391.pdf
- 本田机器人专利JPA_2012016801.pdf
- 2022-2023大型零售企业发展指数&经营指标报告-中国百货商业协会-2023.8-35页.pdf
- 本田机器人专利JPA_2011081380.pdf
- 国金证券-基础化工行业专题研究报告:弱复苏下龙头白马再获关注,主题投资值得期待-230506.pdf
最近下载
- 6会摇尾巴的狼.pptx VIP
- 软件长期运维托管服务协议.doc VIP
- 青年教师专业成长培训方案范文(3篇).docx VIP
- 五年级下册道德与法治全册知识点考点归纳总结复习资料.pdf VIP
- GB∕T 25127.1-2020 低环境温度空气源热泵(冷水)机组 第1部分 工业或商业用及类似用途的热泵(冷水)机组.pdf
- EDA技术与应用教程(Verilog HDL版)(第3版) 王正勇全套PPT课件.pptx
- 2025年甘肃省委党校在职研究生招生考试(国民经济学)历年参考题库含答案详解(5卷).docx VIP
- (正式版)H-G-T 3706-2024 工业用金属孔网管骨架聚乙烯复合管.docx VIP
- 毛泽东诗词全集.docx VIP
- 2025年2025公务员多省联考《申论》题(内蒙古县级卷)及参考答案.pdf VIP
原创力文档

文档评论(0)