一:接口
using System;
namespace _005_接口
{
//接口默认是public
interface IMyInterface
{
//一些常用的操作行为进行专门的封装
//属性,方法,事件
//接口的存在意义:可以弥补c#中类不能多继承的缺陷
void MethodIplement();
}
//类继承接口
public class InterfaceClass : IMyInterface
{
// 下面这个写法是写错了的
//void IMyInterface.MethodIplement()
//{
// Console.WriteLine("调用");
//}
// 接口中的函数方法必须实现,不然会报错
public void MethodIplement()
{
Console.WriteLine("调用");
}
}
class Program
{
static void Main(string[] args)
{
InterfaceClass interfaceClass = new InterfaceClass();
interfaceClass.MethodIplement();
}
}
}
二.接口继承
using System;
namespace _006_接口继承
{
public interface IParentInterface
{
void ParentInterfaceMethod();
}
//接口与接口可以继承
public interface IMyInterface:IParentInterface
{
void MethodToImplement();
}
//接口继承接口的使用还是需要用类来体现,如果类继承的是接口子类,那么需要实现
//子类父类中所有未实现的函数
public class test : IMyInterface
{
public void MethodToImplement()
{
Console.WriteLine("子类独有方法");
}
public void ParentInterfaceMethod()
{
Console.WriteLine("父类独有方法");
}
}
class Program
{
static void Main(string[] args)
{
test test1 = new test();
test1.ParentInterfaceMethod();
test1.MethodToImplement();
}
}
}
三.接口妙用
using System;
namespace _007_接口妙用
{
public interface IMyInterfacework
{
void FindWork(string str);
}
public class WorkerClass01 : IMyInterfacework
{
public void FindWork(string str)
{
Console.WriteLine("你好,我的工作是:"+str);
}
}
public class WorkerClass02 : IMyInterfacework
{
public void FindWork(string str)
{
Console.WriteLine("你好,我的工作是:" + str);
}
}
class Program
{
static void Main(string[] args)
{
//这里前面是接口,后面是类这种写法为什么不报错
//因为这里是类继承接口,接口相当于父类,范围更大,所以可以包含小范围
IMyInterfacework work01 = new WorkerClass01();
IMyInterfacework work02 = new WorkerClass02();
work01.FindWork("安卓工程师");
work02.FindWork("ios");
}
}
}
浙公网安备 33010602011771号