《继承抽象类》PPT课件.ppt_第1页
《继承抽象类》PPT课件.ppt_第2页
《继承抽象类》PPT课件.ppt_第3页
《继承抽象类》PPT课件.ppt_第4页
《继承抽象类》PPT课件.ppt_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第九章,继承,目标,继承的类型 继承的实现 修饰符 接口继承,体验,程序运行时实现老虎、鹰、鲨鱼三个对象,分别调用它们的一个方法。,继承 3-1,Class Base / 成员变量 int basevar; / 成员函数 Base_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 class Base / 成员变量 int basevar; / 成员函数 abstract void base_fun1(parameters); / 无法实现 . ,class Derived : Base / 成员变量 int derivedvars; / 成员函数 override void Base_fun1(parameters) / 实际实现 . ,抽象类,派生类,抽象类和抽象方法 2-2,多重接口实现,C# 不允许多重类继承 但 C# 允许多重接口实现 这意味着一个类可以实现多个接口,多重接口示例,public interface IPictBase void ApplyBeta(); /第二个接口 public interface IPict int DeleteImage(); void DisplayImage(); public class BaseIO public void Open() Console.WriteLine(“BaseIO 的 Open 方法“); ,static void Main(string args) MyImages objM = new MyImages(); objM.DisplayImage(); objM.DeleteImage(); objM.Open(); objM. ApplyBeta(); ,public class MyImages:BaseIO,IPictBase,IPict public void ApplyBeta() /功能实现 publi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论