- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【精品PPT课件】《VisualC程序设计》第9章继承抽象类
继承 目标 继承的类型 继承的实现 修饰符 接口继承 体验 程序运行时实现老虎、鹰、鲨鱼三个对象,分别调用它们的一个方法。 继承 3-1 Class Base { // 成员变量 int basevar; // 成员函数 Base_fun1() { // 定义 } ……. ……. Class Derived : Base { // 成员变量 int derivedvars; // 成员函数 Derived_fun1() { // 定义 } ……. ……. 基类 void main() { Derived objdr = new Derived() ; objdr.Base_fun1(); } 派生类 继承而来 狗 猪 继承 3-2 动物 基类 派生类 继承的层次结构示例 继承3-3 Class Animal { // 成员变量 int eyes, nose; Animal() { eyes = 2; nose = 1; } Pet_Animal() { // 定义 } } 基类 Class Dog : Animal { // 成员变量 // 成员函数 private Barking() { // 定义 } private Wagging_Tail() { } } 派生类 继承 C# 中的类 public class Graduate: Student, Employee { // 成员变量 // 成员函数 } 多重继承? 允许多重接口实现 不能多重继承 用于从派生类中访问基类成员 可以使用 base 关键字调用基类的构造函数 关键字 base 调用 base 构造函数 public class Teacher:Person { private uint id; //调用 Teacher构造函数 public Teacher(string name,uint age,uint id):base(name,age) { this.id = id; Console.WriteLine(id); } } :base 关键字将调用 Person 类构造函数 示例 public class Person { public string _name; public uint _age; public Person(string name, uint age) { this._name = name; this._age = age; Console.WriteLine(_name); Console.WriteLine(_age); } } public class Teacher:Person { private uint _id; public Teacher(string name, uint age, uint id):base(name, age) { this._id = id; Console.WriteLine(_id); } } static void Main(string[] args) { //构造 Student Teacher objt= new Teacher(“张三, 32, 003); } 关键字 override Class Derived : Base { // 成员变量 int derivedvars; // 成员函数 override Func1() { // 定义 } ……. ……. 基类 派生类 Class Base { // 成员变量 int basevar; // 成员函数 Func1() { // 定义 } ……. ……. 关键字 virtual [Access modifier] virtual [return type] name( [parameters-list] ) { ... // Virtual 方法实现 ... } public virtual void Func() { Console.WriteLine(“这是 virtual 方法,可以在派生类中被重写); } 抽象类和抽象方法 2-1 abstract class ClassOne { //类实现 } 不能实例化 派生类的基类 abstract cl
文档评论(0)