- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
继承 继承是面向对象程序设计的主要特征之一,它可以让您重用代码,可以节省程序设计的时间。继承就是在类之间建立一种相交关系,使得新定义的派生类的实例可以继承已有的基类的特征和能力,而且可以加入新的特性或者是修改已有的特性建立起类的新层次 被继承的类叫基类(父类) 继承自其他类的类叫派生类(或子类) 声明扩充类的语法: [访问修饰符] class 派生类名称:基类名称 { //程序代码 } c#仅支持类单继承--一个类只能有一 个父类(基类) 多态 多态性是指类为名称相同的方法提供不同实现方式的能力。利用多态性,就可以调用类中的某个方法而无需考虑该方法是如何实现的。 有以下几种实现多态性的方式。 1.是通过重载实现多态性 2.是通过继承实现多态性 3.是通过抽象类实现多态性 4.是通过接口实现多态性 C#的多态性 前面学的方法重载,是最常用也是最基本的多态性,那么多态性到底是什么概念呢? 通过一个类可以调用自己方法的重载或者派生类方法、属性和事件的成员就叫做多态性了。 下面我们再学1种比较好的调用派生类的多态性方法-----虚方法(Virtual) 。而这个方法也是在项目中广泛采用的多态性方法之一。 重写基类虚方法实现多态 谈到虚方法我们不能不说一下,继承,因为虚方法的前提条件就是用一个父类派生一个派生类出来。用派生类的方法去重写我们的虚方法。 首先我们要明确一个概念。在面向对象的编程当中,我们的派生类可以无限极的返还给我们大的父类。父类可以和派生类兼容,但是我们的父类是不能返回给我们的派生类的。 基于这个原理,我们来看一下现在的内容。 使用虚拟方法与重写方法时注意: 1) 虚拟方法不能声明为静态(static)的。因为静态的方法是应用在类这一层次的,而多态性只能在对象上运作。 2) virtual不能和private一起使用。因为声明为private就无法在扩充类中重写了。 3) 重写方法的名称、参数个数、类型以及返回值都必须和虚拟方法的一致 抽象类的定义 抽象类的特点 类有两种:一种是具体类,另一种是抽象类。具体类可以实例化,抽象类不可以实例化。 在类声明中使用 abstract 修饰符以指示类只能是其他类的基类。 public class Animal{} public abstract class Animal{ } 抽象类的定义格式 abstract class ClassOne { //类实现 } 访问修饰符 派生类的基类 不能实例化 abstract class Base { // 成员变量 int basevar; // 成员函数 abstract void base_fun1(parameters); // 无法实现 ……. } 抽象方法 class Derived : Base { // 成员变量 int derivedvars; // 成员函数 override void base_fun1(parameters) { // 实际实现 ... } 抽象类 派生类 提供 重写方法 原型 必须重写 抽象类不能实例化。 从抽象类派生的非抽象类必须包括继承的所有抽象方法的实现。 在方法声明中使用 abstract 修饰符以指示此方法不包含实现。 public abstract class Animal { public abstract void Speak(); } 抽象类继承 public abstract class Animal { public abstract void Speak(); } public class Monkey:Animal { public override void Speak(){ Console.WriteLine(“Monkey Speak…”); } } 抽象方法具有以下特性: (1)抽象方法是隐式的 virtual 方法。 (2)只允许在抽象类中使用抽象方法声明。 (3)因为抽象方法声明不提供实现,所以没有方法体; (4)在抽象方法声明中使用 static 或 virtual 修饰符是错误的。 (5)在派生类中,通过包括使用 override 修饰符的属性声明可以重写抽象的继承属性。 密封类 密封类不能用作基类。 它也不能是抽象类。 密封类主要用于防止派生。 //使用sealed关键字创建密封类 public sealed class Animal{ } 网络安全课程体系(两年制) 银河信息技术学院 沈慧芳 第十二次课 类的继承 课程目标 理解面向对象编程主要特征之继承 在C#中使用继承 理解面向
您可能关注的文档
- yk1011机械设计杨可桢.ppt
- Z1惯性导航的概念.ppt
- ZXMPS系统硬件.ppt
- zyh数控机床课件.ppt
- z第二十六章收涩.ppt
- β葡聚糖酶酶特性及稳定性的研究.ppt
- σ品质培训教材.ppt
- 阿里巴巴广告位示意DemoNXPowerLite.ppt
- 阿里旺旺2008年广告销售指南Q1.ppt
- 阿特拉斯GA250Product2002.ppt
- 工会代表大会运行规则及十大制度解读.docx
- 法院合同法案例分析与学习笔记.docx
- 医疗急救口头医嘱管理流程制度.docx
- 幼儿园科学实验教学设计案例.docx
- 2025秋九年级英语全册Unit2Ithinkthatmooncakesaredelicious课时3SectionAGrammarFocus_4c习题课件新版人教新目标版.pptx
- 2025秋九年级英语全册Unit5WhataretheshirtsmadeofSectionA合作探究二课件新版人教新目标版.pptx
- 2025秋九年级英语全册Unit2Ithinkthatmooncakesaredelicious课时4SectionB1a_1d习题课件新版人教新目标版.pptx
- 2025秋九年级英语全册Unit1Howcanwebecomegoodlearners课时3SectionAGrammarFocus_4c习题课件新版人教新目标版.pptx
- 2025秋九年级英语全册Unit5Whataretheshirtsmadeof课时4SectionB1a_1e课件新版人教新目标版.pptx
- 2025秋九年级英语全册Unit3Couldyoupleasetellmewheretherestroomsare课时3SectionAGrammarFocus_4c课件新版人教新目标版.pptx
原创力文档


文档评论(0)