Csharp 程序设计案例教程 王明福 源代码习题答案 第6章新.ppt
文本预览下载声明
6.1 继承与派生的概念 6.1.1 继承 6.2 类的继承 6.2.1 基类与派生类 在C#中,派生类的语法格式如下: 【例6-1】创建一个一般学生类Student,然后创建Student类的子类 —— 大学生类CStudent,体会成员变量和成员方法的继承。 class Student //定义一般学生类,父类 { public static string sClassName = 软件一班;//静态字段 public string SName = 王丽; //公有字段 private int Age = 21; //私有字段,不被继承 protected string Sex=女; //保护成员变量 public void WriteAge() //公有成员方法 { Console.WriteLine(this.Age); } private void WriteSName() //私有成员方法,不被继承 { Console.WriteLine(SName); } } class CStudent : Student //定义大学生类,子类 { private string Department; //定义私有成员变量 public CStudent(string _Department, string _SName, string _Sex) { Department = _Department; SName = _SName; Sex = _Sex;} //定义公有成员方法,成员变量SName,Sex,sClassName由父类继承而来 public void WriteCStudentInfo() { Console.Write({0},{1},{2},{3},, SName, Sex, Department, sClassName); //此成员方法来自父类 WriteAge(); } } class Program { static void Main(string[] args) { CStudent cstu1 = new CStudent(计算机系, 张三, 男); cstu1.WriteCStudentInfo(); } } 派生类的构造函数执行顺序如下: (1) 按被继承时说明顺序,调用基类的构造函数。 (2) 调用派生类构造函数体中的内容。 2.析构函数 当对象被删除时,派生类的析构函数被执行。由于析构函数也不能被继承,因此在执行派生类的析构函数时,基类的析构函数也将被调用。 执行顺序是: class Student { public static string sDepartment = 软件工程系; private string sClass; //私有字段 public Student(string c)//构造函数 { sClass = c; } ~Student() { Console.WriteLine(“执行父类析构函数”);} public void WriteClass() { Console.WriteLine(this.sClass);} } class CStudent : Student //定义大学生类,即子类 { private int Age; //定义私有字段 private string SName,Sex; //定义私有字段 //定义构造函数 public CStudent(string c,string n, string s,int a): base(c) { SName = n; Sex = s; Age = a; } ? ~CStudent() { Console.WriteLine(执行子类
显示全部