C#程序设计 第3章C#面向对象编程
C# 程序设计 第3章 C#面向对象编程
接口 什么是接口 重点 接 接口的使用方法 如何使用实现了某接口的对象 显式 如何继承多个接口 接口和 接口与抽象类的比较 嵌套类和分部类
2 显式和隐式接口 接口 ★ 接口的应用 接口和抽象类的区别 什么是接口 重点 接口的使用方法 如何使用实现了某接口的对象 如何继承多个接口 接口与抽象类的比较 嵌套类和分部类
IComparable接口 /实现IComparable接▣的CompareTo方法 public int CompareTo(Object obj) { if (!Stydentteobj as Student; thrwgumentException(“参数必须为Student 类的廓础身常 return this.name.CompareTo(s.name ) Student st=(Student)obj; return this.name.CompareTo(st.name ) 3
3 IComparable接口 什么是接口 接口的声明 接口成员 接口的实现 一系列需要实现的功能的定义 [接口修饰符] interface 接口名 [: 基接口] { 接口体; } int CompareTo (Object obj); class Student : IComparable //实现IComparable接口的CompareTo方法 public int CompareTo ( Object obj) { } if (!(obj is Student) { throw new ArgumentException (“参数必须为Student 类的实例"); } Student st= (Student) obj; Student s = obj as Student; if(s == null) //抛出异常 return this.name.CompareTo(s.name ); return this.name.CompareTo(st.name );
IComparable接口 ■s检查对象是否与指定类型兼容 if(对象s类型)f=(类型)对象; 判断对象是否是某种类型, 返回true和false as用于在兼容的引用类型之间执行转换 类型f仁对象as类型: 一种类型转换方式 if (f==null) Console.WriteLine("不是有效的类型。"); else a.0cc 转换失败返回值为空
4 IComparable接口 ▪ is 检查对象是否与指定类型兼容 if ( 对象 is 类型 ) f=(类型) 对象; 判断对象是否是某种类型, 返回true和false ▪ as 用于在兼容的引用类型之间执行转换 类型 f= 对象 as 类型; if (f==null) Console.WriteLine("不是有效的类型。"); else . 转换失败返回值为空 一种类型转换方式
使用自定义接口 以实现接口的对象作为参数 1、接口作为参数使用 public void Test IPersonallncome income) income.DisplayIncome() 无论是哪中类型的对象, 这里都不需要变化 Test(new Manager("张三",30,3000,3000))月 2、接口作为返回值使用 private IPersonallncome CreatelPersonallncome (string type){ switch(type) { case“Manager": f=new Manager("张三",30,3000,3000);break; 返回一个实现该 接口的对象 f.getLength() return f 5
5 使用自定义接口 1、接口作为参数使用 public void Test ( IPersonalIncome income) { income.DisplayIncome(); } 无论是哪中类型的对象, 这里都不需要变化 2、接口作为返回值使用 Test( new Manager ("张三",30,3000,3000) ); private IPersonalIncome CreateIPersonalIncome (string type){ switch (type) { case “Manager ": f = new Manager ("张三",30,3000,3000) ; break; . } return f } 返回一个实现该 接口的对象 f.getLength() 以实现接口的对象作为参数