unity第二周:关于接口

Posted on 2021-03-17 22:19  Nicela  阅读(146)  评论(0)    收藏  举报

一:接口

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");
}
}
}

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3