面向对象程序设计第五章.ppt
《面向对象程序设计第五章.ppt》由会员分享,可在线阅读,更多相关《面向对象程序设计第五章.ppt(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章面向对象程序设计进阶 5.1 继承 5.1.1 继承概述继承概述 5.1.1 继承概述继承概述n从面向对象程序设计的观点来看,继承表示类之间存在一种一般与特殊的关系,这种关系使得某类对象可以继承另外一类对象的特征。n表示一般的类称为基类或超类,表示特殊的类称为派生类或子类。派生类继承了基类的所有特征,同时又可以加入自己的特征。n继承是面向对象程序设计的基本特征之一,它允许派生类继承基类的数据成员和成员函数。同时,派生类又可以添加新的成员或者对基类已有成员进行重定义n继承体现了代码重用思想。5.1.2 定义派生类 n定义派生类的格式:类修饰符 class 类名:基类 类体n在类定义中,通过
2、在类名的后面加上冒号和基类名表示继承。其它内容与定义类一样。【例例5-1】定义派生类Student P1045.1.3 派生类的构造函数 n在C#中,构造函数不能被继承。因此,在派生类中必须定义派生类的构造函数。n派生类构造函数的一般格式:派生类构造函数名(派生类参数列表):base(基类参数列表)初始化语句 n当生成派生类对象时,构造函数的执行顺序为:首先执行基类构造函数,然后再执行派生类的构造函数。【例例5-2】派生类构造函数的执行顺序 P106 5.1.4 访问和隐藏基类成员 1.访问基类成员访问基类成员n在派生类中使用base关键字访问基类成员。base.Speak()2.成员隐藏成员
3、隐藏n在派生类中,通过定义与基类同名的新成员可以隐藏基类的成员,从而达到修改基类成员的目的。必须在派生类成员的声明中加上new修饰符,否则编译器在编译时会发出警告信息。【例例5-3】访问和隐藏基类成员 P1085.1.5 禁止继承 nC#提供一种不能被继承的类,称为密封类。如果想定义密封类,只需要在定义类时,使用sealed修饰符就可以了。【例例5-4】使用密封类 P1105.1.6 使用扩展 n使用扩展方法可以向现有类中添加新的方法,而无需创建新的派生类或以其他方式修改原始类。扩展方法是在静态类中定义的特殊静态方法,但它可以像扩展类中的实例方法一样被调用。n定义扩展方法的格式:public
4、static 返回值类型 扩展方法名(this 要扩展的类 扩展方法的参数列表)n在this关键字的后边指定要扩展的类;如果扩展方法带有参数的话,应该在扩展类的后边给出参数列表。n调用扩展方法必须遵循以下步骤:q使用using指令导入定义扩展方法的静态类所在的命名空间;q像调用类的实例方法一样调用扩展方法。【例例5-5】为int类型添加扩展方法 P1115.2 抽象类与接口 5.2.1 抽象类抽象类n抽象类表示一种抽象的概念,用来为派生类提供一个公共接口。n抽象类只能作为其它类的基类,不能实例化。抽象类所定义的接口,必须由派生类具体实现。n抽象类可以包含抽象方法和抽象属性,也可以包含实例字段和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 第五
限制150内