第五讲 面向对象程序设计(二)_第1页
第五讲 面向对象程序设计(二)_第2页
第五讲 面向对象程序设计(二)_第3页
第五讲 面向对象程序设计(二)_第4页
第五讲 面向对象程序设计(二)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C#程序设计类的继承概述:

(1)从一个类中派生出新的类,新类能继承基类的成员;增强了代码的可重用性。

(2)C#只支持单继承,不支持多继承;

(1)单继承是指派生类只具有一个基类(2)可传递性

继承的原则:

(1)子类不能访问基类的私有成员;

(2)基类与子类必须具有相同的可访问性;

(3)每个类有且仅有一个基类,Object是所有类的终极基类;

(4)除构造函数和析构函数外,其他所有基类的成员都能被子类继承;

(5)存在从子类到基类的隐式转换。举例:课本23页(ex4-21)单继承的使用

单继承一般用于类之间的继承,C#中的类只支持单继承,实现单继承时使用的格式:

子类:基类

举例:ex4-19虚方法与重写方法虚方法:允许被其子类重新定义的方法。

(1)声明时使用virtual关键字;

(2)虚方法不是私有的,不能与private同时使用。重写方法:如果一个方法声明中含有override修饰符,该方法称为重写方法。

(1)使用相同的方法名重写继承的虚方法,使从基类继承而来的方法专用化;

(2)重写方法只能用于重写基类中的虚方法,不能用来单独声明方法。

(3)重载与重写方法的区别:

(4)在派生类的方法重写中调用该方法的基类版本,使用关键字base。举例:首先定义一个基类,并在其中定义一个虚方法,用来计算两个数的和;然后使program类继承于该类,在program类中重写基类中的虚方法,实现计算3个数的和;最后在Main方法中,使用派生类对象实例化基类的一个对象,使用该基类对象调用派生类中的重写方法,实现计算3个数的和。(ex4-20)类的多态概述:同一事物在不同条件下表现出不同的形态。

类的多态是指两个或多个属于不同类的对象,对同一消息作出不同的响应。举例:驾驶执照(ex4-28)实现:通过虚方法和重写方法

多态使得子类的实例直接赋予基类的对象,然后使用这个对象调用子类的方法。举例:接口概述:定义一个可由类和结构实现的协议,描述了一些行为,可以看成是类的模板。(举例)组成:方法、属性、事件、索引器声明:修饰符interface接口名称

{接口内容;

}只包含方法的声明说明:

(1)接口中只有成员的声明,不提供实现

(2)接口内的成员前加上任何访问修饰符都会发生编译错误,隐式地具有Public访问方式。

(3)不能直接实例化接口

(4)类、结构或者接口自身可以从多个接口继承接口的实现:

(1)classA:(基类,)接口1,接口2(2)类中的对应成员必须是Public、非静态

(3)显式接口成员的实现:

创建一个仅通过该接口调用的方法

格式:返回值类型接口名称.方法名()

(4)举例:ex4-24

(5)显式实现接口成员的注意事项:

成员实现中不能包含访问修饰符显式接口成员是属于接口的,只能通过接口的对象来访问成员。

接口使得服务的实现与协议分离浅谈接口的作用接口用于描述一组类的公共方法/公共属性.

它不实现任何的方法或属性,只是告诉继承它的类

至少要实现哪些功能,继承它的类可以增加自己的方法。使用接口可以使继承它的类——命名统一、规范,易于维护。提供永远的接口:当类增加时,现有接口方法能够满足继承类中的大多数方法,没必要重新给新类设计一组方法,也节省了代码,提高了开发效率.。委托概述:一种数据类型,用delegate来声明,用一组特定的参数以及返回类型来封装方法。

(1)静态方法

(2)非静态方法:实例目的:通过委托向一个方法中传递另一个方法。举例:ex4-25事件概述:对象发送的消息,以发出信号通知操作的发生。

举例:控件类事件发送方:触发事件的对象事件接收方:响

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论