1、目录 CONTENTS学习目标学习内容课堂实践本讲学习目标AIMS知识目标知识目标掌握类的继承性及使用掌握类的多态性及使用能力目标能力目标能够编写简单的类12继承CONTENT继承指一个新定义的类通过另一个类得到,在拥有了另一个类的所有特征的基础上,加入新类特有的特征的一种定义类的方式。例如,定义一个形状类Shape和一个派生类Circle:public class Shape private double s;public class Circle:Shape private double r;多态CONTENT面向对象的多态是指同一操作收到不同的消息(信息)或作用于不同的对象,可以有不同的
2、解释,产生不同的执行结果。多态分为两种,一种是编译时多态,一种是运行时多态。虚方法CONTENT public class Shape private double s;public virtual double Area()return s;public class Circle:Shape private double r;public override double Area()return 3.14*r*r;抽象类CONTENT抽象方法是一种新的虚方法,它不提供具体的方法实现代码。只能在抽象类中声明抽象方法,对抽象方法不能再使用static或者virtual修饰符,而且方法不能有任何可
3、执行的代码,只需给出方法的原型即可。重写抽象方法使用override关键字。抽象方法CONTENT抽象方法是一种新的虚方法,它不提供具体的方法实现代码。只能在抽象类中声明抽象方法,对抽象方法不能再使用static或者virtual修饰符,而且方法不能有任何可执行的代码,只需给出方法的原型即可。重写抽象方法使用override关键字。抽象方法CONTENT abstract class Shape public abstract double Area();public class Circle:Shape private double r;public abstract override do
4、uble Area()return 3.14*r*r;学习任务:教师类设计CONTENT使用类的继承建立教师类,并通过一个Windows窗体应用程序调用教师类,再将教师信息通过消息框显示出来。学习任务:教师类设计CONTENT class Person private string name;private string sex;private int age;public string Name get return name;set name=value;public string Sex get return sex;set sex=value;public int Age get re
5、turn age;set age=value;public virtual string Show()return 你的姓名为:+Name+,性别为:+Sex+,年龄为:+Age.ToString();学习任务:教师类设计CONTENT class Teacher:Person private string title;private string department;public string Title get return title;set title=value;public string Department get return department;set departmen
6、t=value;public override string Show()return 你的姓名为:+Name+,性别为:+Sex+,年龄为:+Age.ToString()+rn+职称为:+Title+部门为:+Department;学习任务:教师类设计CONTENT private void btnOK_Click(object sender,EventArgs e)Teacher teacher1=new Teacher();teacher1.Name=txtName.Text;teacher1.Sex=txtSex.Text;teacher1.Age=int.Parse(txtAge.T
7、ext);teacher1.Title=txtTitle.Text;teacher1.Department=txtDepartment.Text;MessageBox.Show(teacher1.Show();课堂拓展课堂拓展(1)添加一个学校行政人员类,继承于教师类,其拥有职务属性。(2)添加一个窗体,通过调用行政人员类显示行政人员的基本信息 课堂实践PRACTICE题目四:题目四:创建一个鱼类FishClass,它有2个属性:Weight(重量)、Length(长)。有一个方法FishShow返回类实例所属的属性值。题目五:题目五:创建一个鲨鱼类Shark,它继承于鱼类鱼类FishClass,有1个属性:Type(种类)。重载方法FishShow返回类实例所属的属性值。题目六:题目六:重写鱼类FishClass,使其抽象化,并重写鲨鱼类Shark,测试效果。题目七:题目七:以一个学校教职工为例,尽可能地找出并定义各种人员的类,画出类的层次结构图。要求定义的类中拥有各类人员的典型属性。