第9章继承抽象类

第9章继承抽象类

ID:45727010

大小:365.00 KB

页数:17页

时间:2019-11-17

第9章继承抽象类_第1页
第9章继承抽象类_第2页
第9章继承抽象类_第3页
第9章继承抽象类_第4页
第9章继承抽象类_第5页
资源描述:

《第9章继承抽象类》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第九章继承目标继承的类型继承的实现修饰符接口继承体验程序运行时实现老虎、鹰、鲨鱼三个对象,分别调用它们的一个方法。继承3-1ClassBase{//成员变量intbasevar;//成员函数Base_fun1(){//定义}…….…….ClassDerived:Base{//成员变量intderivedvars;//成员函数Derived_fun1(){//定义}…….…….基类voidmain(){Derivedobjdr=newDerived();objdr.Base_fun1();}派生类继承而来狗猪继承3-2动物基类派生类继承的层次结构示例继

2、承3-3ClassAnimal{//成员变量inteyes,nose;Animal(){eyes=2;nose=1;}Pet_Animal(){//定义}}基类ClassDog:Animal{//成员变量//成员函数privateBarking(){//定义}privateWagging_Tail(){}}派生类继承C#中的类publicclassGraduate:Student,Employee{//成员变量//成员函数}多重继承?允许多重接口实现不能多重继承用于从派生类中访问基类成员可以使用base关键字调用基类的构造函数关键字base调用bas

3、e构造函数publicclassTeacher:Person{privateuintid;//调用Teacher构造函数publicTeacher(stringname,uintage,uintid):base(name,age){this.id=id;Console.WriteLine(id);}}:base关键字将调用Person类构造函数示例publicclassPerson{publicstring_name;publicuint_age;publicPerson(stringname,uintage){this._name=name;thi

4、s._age=age;Console.WriteLine(_name);Console.WriteLine(_age);}}publicclassTeacher:Person{privateuint_id;publicTeacher(stringname,uintage,uintid):base(name,age){this._id=id;Console.WriteLine(_id);}}staticvoidMain(string[]args){//构造StudentTeacherobjt=newTeacher(“张三",32,003);}关键字ov

5、errideClassDerived:Base{//成员变量intderivedvars;//成员函数overrideFunc1(){//定义}…….…….基类派生类ClassBase{//成员变量intbasevar;//成员函数Func1(){//定义}…….…….关键字virtual[Accessmodifier]virtual[returntype]name([parameters-list]){...//Virtual方法实现...}publicvirtualvoidFunc(){Console.WriteLine(“这是virtual方法

6、,可以在派生类中被重写");}抽象类和抽象方法2-1abstractclassClassOne{//类实现}不能实例化派生类的基类abstractclassBase{//成员变量intbasevar;//成员函数abstractvoidbase_fun1(parameters);//无法实现…….}classDerived:Base{//成员变量intderivedvars;//成员函数overridevoidBase_fun1(parameters){//实际实现...}抽象类派生类抽象类和抽象方法2-2必须重写多重接口实现C#不允许多重类继承但C

7、#允许多重接口实现这意味着一个类可以实现多个接口多重接口示例publicinterfaceIPictBase{voidApplyBeta();}//第二个接口publicinterfaceIPict{intDeleteImage();voidDisplayImage();}publicclassBaseIO{publicvoidOpen(){Console.WriteLine(“BaseIO的Open方法");}}staticvoidMain(string[]args){MyImagesobjM=newMyImages();objM.DisplayI

8、mage();objM.DeleteImage();objM.Open();objM.ApplyBeta()

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。