[Unity] C#中级编程 - 08 - 接口

[Unity中文课堂教程] C#中级编程 - 08 - 接口

原教程视频地址:

《[Unity中文课堂教程预告片] C#中级编程_哔哩哔哩_bilibili

C#中级编程 - Unity中文课堂 (u3d.cn)

C# 接口(Interface) | 菜鸟教程 (runoob.com)

内容短小精悍简练,每节只有几分钟。很适合用来预习和复习。

接口:interface

  • 接口和类的抽象相似:都是定义空方法,不能修饰属性,专门用于被类继承。创建接口也和类相似。
  • 接口和类的作用区别:c#中类不可用多继承,但是接口可以!

编程习惯:接口命名开头大写I,一个脚本定义一个接口。因为不需要实现方法,也不能写其他东西(会报错),所以也不需要命名空间。

脚本①

interface IExercise_4_15		// 使用关键字 interface 创建接口,形式和类相似
{
	// int num_0;				// 编译报错,不能有实例,只能定义方法
	
	void name_0();				// 例子 下同
	
	void name_1(int num_0);		
	
	public void name_2();		// 效果和第一个例子一样
	
	// private void name_3();	// 报错……看不懂,不深究这个了
	
	// 'IExercise_4_15.name_3()' must declare a body because it is not 
	// marked abstract, extern, or partial
}

脚本②

interface IExercise_4_17 : IExercise_4_15 // 接口也可继承接口,相当于所有方法都要实现
{
	void name_4();
}

脚本③

// public class Exercise_4_16 : MonoBehaviour, Exercise_4_14 // 报错,继承多个类
// public class Exercise_4_16 : MonoBehaviour, IExercise_4_17, IExercise_4_15 //多继承接口
public class Exercise_4_16 : MonoBehaviour, IExercise_4_17 	 // 和上面效果一样
{
	public void name_0()	
	{
		// 或没有实现方法,或访问修饰符非公共,会编译错误。
		// 实现内容可以是空,但一定要有花括号。
	}
	
	public void name_1(int num_01)		
	{
		// 记录了返回类型、方法命名、参数类型和个数,不限参数命名。
	}
	
	public void name_2()
	{
		// 也可以,好像没什么不一样
	}
	
	private void name_3()	
	{
		// 没有对应的接口定义,就是普通方法
	}
	
	public void name_4()	
	{
	}
}
  • 总结特点
    1. 接口内只能定义空方法,不能创建其他东西。
    2. 定义空方法可以写访问修饰符public,也可以不写,但不能写其他。按编程习惯不写比较好。
    3. 对应上一条,实现接口的类中,实现方法的访问修饰符public一定要写,若不设为公开会编译报错。
    4. 接口规定了要实现的方法的三点:返回类型、方法命名、参数类型和个数,不包含参数命名。
    5. 接口可以继承接口,接口还可以多继承。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值