[Unity] C#中级编程 - 08 - 接口
Posted L建豪 忄YH
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Unity] C#中级编程 - 08 - 接口相关的知识,希望对你有一定的参考价值。
[Unity中文课堂教程] C#中级编程 - 08 - 接口
原教程视频地址:
《[Unity中文课堂教程预告片] C#中级编程_哔哩哔哩_bilibili》
《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()
- 总结特点:
- 接口内只能定义空方法,不能创建其他东西。
- 定义空方法可以写访问修饰符
public
,也可以不写,但不能写其他。按编程习惯不写比较好。 - 对应上一条,实现接口的类中,实现方法的访问修饰符
public
则一定要写,若不设为公开
会编译报错。 - 接口规定了要实现的方法的三点:返回类型、方法命名、参数类型和个数,不包含参数命名。
- 接口可以继承接口,接口还可以多继承。
以上是关于[Unity] C#中级编程 - 08 - 接口的主要内容,如果未能解决你的问题,请参考以下文章
[Unity] C#中级编程 - 10 - 命名空间/using
[Unity] C#中级编程 - 10 - 命名空间/using
[Unity] C#中级编程 - 10 - 命名空间/using