- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 C的#中的面向对象编程技术
Visual C# 2008程序设计与应用教程第6章 6.6.3 接口的继承 类似于类的继承性,接口也有继承性。派生接口继承了基接口中的函数成员说明。接口允许多继承,一个派生接口可以没有基接口,也可以有多个基接口。在接口声明的冒号后列出被继承的接口名字,多个接口名之间用分号分割。 Visual C# 2008程序设计与应用教程第6章 6.6.4 类对接口的实现 前面已经说过,接口定义不包括函数成员的实现部分。继承该接口的类或结构应实现这些函数成员。这里主要讲述通过类来实现接口。类实现接口的本质是,用接口规定类应实现那些函数成员。用类来实现接口时,接口的名称必须包含在类声明中的基类列表中。 Visual C# 2008程序设计与应用教程第6章 在类的基本概念一节中,定义一个描述个人情况的类Person,从类Person可以派生出其它类,例如:工人类、公务员类、医生类等。这些类有一些共有的方法和属性,例如工资属性。一般希望所有派生类访问工资属性时用同样变量名。该属性定义在类Person中不合适,因为有些人无工资,如小孩。如定义一个类作为基类,包含工资属性,但C#不支持多继承。可行的办法是使用接口,在接口中声明工资属性。工人类、公务员类、医生类等都必须实现该接口,也就保证了它们访问工资属性时用同样变量名。 Visual C# 2008程序设计与应用教程第6章 6.7 代理(delegate) 在这里要介绍的是C#的一个引用类型----代表(delegate),也翻译为委托。它实际上相当于C语言的函数指针。与指针不同的是C#中的代表是类型安全的。代表类声明格式如下: 属性集 修饰符 delegate 函数返回类型 定义的代表标识符(函数形参列表); 修饰符包括new、public、protected、internal和private。例如我们可以声明一个返回类型为int,无参数的函数的代表MyDelegate。 Visual C# 2008程序设计与应用教程第6章 public delegate int MyDelegate();//只能代表返回类型为int,无参数的函数 声明了代表类MyDelegate,可以创建代表类MyDelegate的对象,用这个对象去代表一个静态方法或非静态的方法,所代表的方法必须为int类型,无参数。 代理声明的语法为: delegate-modifiers delegate return-type delegate-name(param-list); delegate-modifiers是代理修饰符,delegate-name是代理名,param-list是参数列表,return-type是被代理函数的返回类型。 Visual C# 2008程序设计与应用教程第6章 6.8 回到工作场景 6.1节中我们设置的工作场景为实现一个汽车类,汽车具有属性百公里耗油、油箱容积、油表、公里数,根据不同的公里数计算汽车所要耗油量完成加油和行驶工作。 【工作过程一】项目分析 根据场景题目要求,汽车类中包含属性百公里耗油、油箱容积、油表、公里数,根据功能要求该类中包含的方法又计算耗油、行驶、加油、获取当前汽车信息等方法。 Visual C# 2008程序设计与应用教程第6章 【工作过程二】流程设计 汽车具有行驶功能,必须做下列判断。 计算油表与汽车行驶需要的汽油比较,若油表显示的汽油大于汽车需要的汽油,更改当前的汽油表,做出汽车行驶成功的提示;相反则要提醒加油,汽车行驶失败。 汽车具有加油功能,做如下操作。 为了将油箱加满,将油箱所能承受的容积减去当前的油表就能获得所需要的加油数量。 亦可给定要加油的体积,判断当前油表与要加油的体积之和是否小于油箱所能承受的容积,若小于油箱容积则进行加油并提示加油成功,否则加油不成功。 Visual C# 2008程序设计与应用教程第6章 系统运行与效果测试 Visual C# 2008程序设计与应用教程第6章 本章小结 本章主要介绍了面向对象编程思想在Visual C#中的应用,并依次讲解了类与对象的建立,构造函数、析构函数以及继承、多态、代理等面向对象编程常用的手段。 类的概念以及与对象的关系是基于对象的程序设计的思想基础。C#的面向对象的特点是C#继承的,并通过用.NET构架的特点进行构造和加强的。此外,C#的继承与C++是不同的,C#只支持单一继承,而需求多重继承的时候,必须借助于实现多重接口来达到最终目的。 在Visual C#中,代理是类型安全、操作可靠的对象,起着与C++的函数指针一样的作用,用来管理对象。代理与类以及接口不一样,代理是在编译时定义的,它一般用于执行异步处理,并能把用户代码加到一个类的代码路径中去。代理可以用于许多目的,包括使用它们作为callba
文档评论(0)