接口、继承解读.pptx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2017-3-31 接口、继承 接口 2017-3-31 接口 接口是一段特殊的代码。在这段代码中,开发者可以对方。声明后,可以指定类去实现对应的方法,从而规范多个类的行为。通过接口,可以保障代码的正确性。 接口组成 接口由方法、属性、索引器和事件的声明 组成。接口中既不能包含构造函数或字段, 也不能包含运算符的重载。同时,它不允许 在成员上加修饰符,如声明为静态属性。 如果需要声明为静态,可以通过继承了该 接口的类来实现。一般来说,接口中的属性 与索引器只是用来指明该属性是否为读写、 可读或可写;方法用来指明该方法的返回值 和所需参数列表。结构如右图所示。 接口声明 接口的声明可以使用interface关键字,声明接口的语法形式如下图所示。 接口的名称Iname,接口的名称只是一个标识符。通用的约定是在接口名称的前面加大写字母I。名称后面是冒号,跟着该接口实现的逗号分隔的接口的列表。冒号和接口列表是可选的。 2017-3-31 接口的声明可以使用interface关键字,声明接口的语法形式如下图所示。 定义接口以后,一个或多个类可以实现该接口。实现接口的类的通用形式如下图所示。 其中,interface-name为要实现的接口的名称。class-name为要实现接口的类名。实现接口的类必须实现整个接口,而不能只选择实现其中一部分。 2017-3-31 接口的实现 接口方法的定义类似于普通方法,不同点是接口方法没有实现。接口方法如下图所示。 2017-3-31 接口方法的使用 如同方法,接口中指定的属性也没有主体,不能实现。接口属性的通用格式如下图所示。 当只有get或set语句时,属性分别为只读属性或者只写属性。在接口中声明属性,不允许对存取器使用任何访问修饰符。例如,在接口中不可以将set存取器指定为private类型。 2017-3-31 接口属性 2017-3-31 接口继承 一个接口可以继承一个或者多个接口,语法跟类的继承相似。接口在继承别的接口时,它会继承该接口的所有成员。一般来说接口都是公共的继承,但也可以通过私有化类成员来使接口的行为变成私有成员操作。接口不允许直接或间接地从自身继承。和类的继承相似,接口的继承也形成接口之间的层次结构。通用格式如下图所示。 继承 概述 继承最主要的好处就是能够实现代码重用,新出现的类可以利用已定义类的成员。我们先以现实生活中的例子给大家介绍,如下图所示。 反映了员工的派生关系,越下层的事物越具体,并且下层包含了上层的特征。员工包含最一般最普通的特征,普通员工有员工的特征,同时还包含了自己的特征,如按工作时长计算薪水;合同工与临时工的道理也是一样的合同工又可以继续往下派生。它们之间的关系是基类与派生类之间的关系,也可以说是父类和子类的关系。 继承是面向对象程序设计的一个重要特征。它允许在既有类的基础上创建新类,新类从既有类中继承类成员,而且可以重新定义或加进新的成员,从而形成类的层次或等级。 2017-3-31 C#的继承机制 从上述程序可以看出,后来定义的man类就省了好多麻烦,因为不需要重复定义年龄和体重等字段,这就达到了继承的初衷:代码重用。 2017-3-31 基类中声明的字段可以在派生类中直接继承,不需要再声明。 方法也可以继承。基类中声明的方法,派生类中可以直接访问不需要再声明,同样可以达到代码重用的目的。 2017-3-31 成员继承 2017-3-31 关键字 override 2017-3-31 Class Person { getage() {  // 定义 } ……. ……. 基类 派生类 Class Man: Person { // 成员函数 override getage() { // 定义 } ……. ……. 关键字 virtual 2017-3-31 [Access modifier] virtual [return type] name( [parameters-list] ) { ... // Virtual 方法实现 ... } public virtual void getage() { Console.WriteLine(“这是 virtual方法,可以在派生类中被重写); } 2017-3-31 C#中继承的规则总结 访问修饰符 在编写程序的过程中,程序员有时并不想基类所有的成员都被派生类继承,这时就可以通过访问修饰符去限制继承和可访问权限 成员访问修饰符 对外部世界是否可见 对派生类是否可见 public 是 是 private 否 否 protected 否 是 internal 是(本程序集) 是(本程序集) internal protected 是(本程序集) 是 201

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档