C#应用程序设计 教学课件 作者 韦鹏程 张伟 朱盈贤 第6章 继承与多态性.pptVIP

  • 19
  • 0
  • 约 69页
  • 2017-08-20 发布于广东
  • 举报

C#应用程序设计 教学课件 作者 韦鹏程 张伟 朱盈贤 第6章 继承与多态性.ppt

第6章 继承和多态性 本章介绍了面向对象中比较重要的两个概念——继承和多态性。重点介绍了继承的基本方法,基类构造函数的调用,继承成员的隐藏,虚方法与方法重写的概念,抽象方法与抽象类的概念,接口的概念等。 6.1 类的继承 类的继承性,指的是在定义类时,不需要重新编写代码,就能够包含另一个类定义的字段、属性、方法等成员,这种在一个类的基础上,建立新的类的过程,叫做继承。被继承的类叫做基类或父类,继承得到的新类叫做派生类或子类。 6.1 类的继承 6.1.1 继承的基本概念 6.1.2 调用基类构造函数 6.1.3 继承成员的隐藏 6.1.1 继承的基本概念 任务6.1 基类与派生类 创建Windows应用程序,定义Person类,并让Student类继承Person类,让Sudent类的实例调用基类方法和自身定义的方法来显示信息,如图6-1所示。 6.1.1 继承的基本概念 任务6.1 任务实施 (一)创建窗体 (1)创建一个“Windows应用程序”项目。 (2)向窗体上添加一个标签框,两个命令按钮,界面布局如图6-2所示,控件属性参数如表6-1所示。 6.1.1 继承的基本概念 任务6.1 任务实施 (二)代码的编写 (1)按F7打开代码视图,在程序代码最后一个右大括号“}”的上方,定义基类Person的代码 (2)在Person类的后面,最后一个右大括号的上方,定义学生类Student的代码 (3)在窗体Form1的类中,声明一个Sudent类型的字段: private Student stu; (4)双击Form1窗体,添加窗体载入事件Form_Load事件代码 (5)在设计窗口中的Form1窗体的【显示基本信息】按钮上双击,为【显示基本信息】按钮添加Click单击事件代码 (6)在设计窗口中的Form1窗体的【显示详细信息】按钮上双击,为【显示详细信息】按钮添加Click单击事件代码 6.1.1 继承的基本概念 任务6.1 任务实施 (三)程序的运行 按下F5键运行该应用程序,单击【显示基本信息】,在标签框中显示学生的基本信息(身份证号、姓名、性别),单击【显示详细信息】显示学生的详细新信息(身份证号、姓名、性别、学号、主修专业),如图6-1所示。 6.1.1 继承的基本概念 任务6.1 支撑知识 (一)派生类的声明 声明一个派生类,跟声明一个一般类的格式是一样的,唯一的不同点就是声明时必须使用“:”指定其继承的基类,派生类声明的一般格式为: public class 派生类名称 : 基类名称 {类体} public可以省略,类定义的默认访问类型就是公有型。 6.1.1 继承的基本概念 任务6.1 支撑知识 (二)成员的访问 派生类不能继承基类中的构造函数、静态构造函数以及析构函数,其他的基类成员都被派生类继承。但是并不是说所有的基类成员,派生类对象都可以随便访问,这取决于这些成员被声明时的访问修饰符。 ? public——访问该成员不受限制。 ? protected——访问该成员仅限于其所包含于的类或该类的派生类,即派生类可以访问基类中的protected成员。 ? private——访问该成员仅限于其所包含于的类,即派生类不能直接访问基类的private成员。 6.1.1 继承的基本概念 任务6.1 支撑知识 (三)派生类的构造函数 派生类默认的构造函数只是调用基类的无参数构造函数。如果基类中没有可访问的无参数构造函数,则发生编译时错误,所以在Person类中,需要显式声明一个无参数的构造函数: public Person() { } 6.1.2 调用基类构造函数 在创建派生类对象时,系统将先调用基类的构造函数,完成基类部分字段的初始化,然后再调用派生类的构造函数,完成派生类自身字段的初始化。 如果派生类中没有声明构造函数,那么系统会给它一个默认构造函数,该默认构造函数完成的功能就是直接调用其基类的无参数构造函数,此时如果基类中没有无参数构造函数,编译就会出错。 要在派生类中直接调用基类的构造函数,可以通过base关键字指定调用的基类构造函数。 6.1.2 调用基类构造函数 任务6.2 为任务6.1的派生类Student创建构造函数 任务6.1中的派生类Student没有构造函数,系统默认调用基类Person中的无参数构造函数,没有初始化任何一个字段,用显式调用基类构造函数的方法来给派生类Student创建构造函数。本任务提供了两种修改方法。 6.1.2 调用基类构造函数 任务6.2 任务实施 (一)创建项目和窗体 (二)代码的编写 (1)法1:打开任务6.1的项目,为Student类添加下构造函数: 6.1.2 调用基类构造函数 任务6.2 任务实施 (二)代码的编写

文档评论(0)

1亿VIP精品文档

相关文档