C#里面的接口
程序运行的步骤:
打开cmd,输入命令
cd 放置程序的文件夹路径
dotnet new console -o interface_example
cd interface_example
进入到含有Program.cs的目录下
dotnet run
修改Program.cs
在里面写接口代码
interface IControl
{
void Paint();//接口的定义
}
接口的定义,
函数前面没有加public
翻译:
这是一个接口的定义,定义了一个控件接口,
接口名字的第一个字母是大写的I
public class EditBox:IControl//接口的实现
{
public void Paint(){
Console.WriteLine("This is a paint function");
}
}
这是接口的实现,
写了一个类
这个类后面用冒号,后面加接口名字
在类体里面,
写接口里面定义的函数
必须是public
EditBox editbox=new EditBox();
editbox.Paint();
这是调用接口定义的函数。
声明一个类的对象。
然后用对象调用函数。
IControl e1=editbox;
e1.Paint();
editbox是实现接口的类的对象
所以,editbox也可以转成接口类型
这样转,有什么好处呢?
可以扩大类型的使用。
一词多义。
比如车,就可以指汽车、摩托车、自行车,表达3个意义。
比如:
public class EditBox:IControl
翻译:
公共类EditBox实现了接口IControl
这个和继承非常像
公共类EditBox继承了接口
一父生3子,
车
汽车:车
摩托车:车
自行车:车
父类:车
子类:汽车、摩托车、自行车
//好处:扩大了类型的使用,泛型的思维。general type
fn buy(车) //输入的类型是车,所以,汽车,摩托车,自行车,都可以输入。
{
}
fn buy(汽车)//只能输入汽车
{
}