C#基础系列第六篇
<div id="cnblogs_post_body">前言: 完全是我在学习过程中记录的笔记,只不过分享一下让很多刚开始学习.net编程的人能够很快的学会C#语言[*]接口
(1) 有时候需要考虑子类中一部分具有某些能力(方法),同时又需要考虑其多态的特征,这时候可以考虑接口
(2)语法:
public interface 接口名
{
//成员
}
(3) 接口的存在就是为了被实现
(4)有了接口以后实现该接口的子类可以赋值给这个接口的变量,就可以实现多态了
(5)接口的存在就是为了多态
(6)接口与类的其中一个不同点在于多"继承"(实现)
(7)接口的使用
interface IDriveable
{
void Dirving();
}
class Teacher : IDriveable
{
public void Dirving()
{
Console.WriteLine("终于有驾驶证了");
}
}
class Program
{
static void Main(string[] args)
{
Teacher th = new Teacher();
th.Dirving();
IDriveable dir = th;
dir.Dirving();
}
}
(8)接口的补充
1)接口中的方法
->默认接口成员均是public,所以不需要考虑访问修饰符
->直接不写访问修饰符
返回值 方法名 (参数);
2)接口的思想类中实现方法的语法:方法该怎么写就怎么写,好像没有接口存在一样
3)接口的实现类必须实现接口中的成员
4)接口中可以有哪些成员:抽象成员
(9)在使用上接口与抽象类非常类似(但是接口不允许有非抽象成员,成员的语法定义不同,多继承)
(10)在继承中有接口,又有类的时候注意:
1)语法
class 类名:父类,接口,接口
{
//成员
}
2)多个接口中如果有重名方法怎么办?
->使用显示实现接口的方式
->方法名是有接口名引导的
->方法没有访问修饰符
->方法不能被该类型的实例对象说调用,必须将其转换为接口类型进行调用
<div class="cnblogs_code" >http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gifhttp://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif接口的实现<div id="cnblogs_code_open_89cb6a31-8841-4da9-8ae5-d53471a04e3a" class="cnblogs_code_hide"> 1 interface Iinter1 2 3 { 4 5 void Func(); 6 7 } 8 9 interface Iinter210 11 {12 13 void Func();14 15 }16 17 class MyClass : Iinter1, Iinter218 19 {20 21 void Iinter1.Func()22 23 {24 25 Console.WriteLine("接口1");26 27 }28 29 void Iinter2.Func()30 31 {32 33 Console.WriteLine("接口2");34 35 }36 37 }38 39 class Program40 41 {42 43 static void Main(string[] args)44 45 {46 47 MyClass m = new MyClass();48 49 Iinter1 i1 = m;50 51 i1.Func();52 53 Iinter2 i2 = m;54 55 i2.Func();56 57 }58 59 }
页:
[1]