[Unity&C#]浅谈接口interface 的意义

xiaoxiao2021-02-28  88

Interfaces 官方视频教程

通常如果要 定义 一个 接口类 Interface 

public interface ITest

{

}

在Test前面加上 大写 的 I ,表示 interface

作用1:不同物体 继承 接口类 ,可以继承 其接口类的成员

实现接口类 Interface 主要区别在于

接口类 Interface 可以 描述 两个 不同种类 的物体 ,墙壁 和 汽车 都是 可以收到伤害的,并且是可以被摧毁 的。

这样 形式 的 属性 是可以 使用 接口类 来实现的。

作用2:使用接口类,对于 技能、物品、道具 等 的时候,消耗时间小

如果在继承中 这种 伤害 属性 ,摧毁属性 ,都不是用 interface Test 而是用 class Test 继承: MonoBehaviour

那么 这个 class Test 就会执行 继承 MonoBehaviour。

假设一个项目工程中,所有的 技能属性,伤害属性,摧毁属性, 全都是 使用 继承,那么就会 使得 这些 所有 的 脚本 都执行 一遍 继承 MonoBehaviour。

如果 继承一次 耗时 0.0001S, 小 的 项目 工程 不使用 接口 interface 是,看不出来 区别的。

但是 ,一旦 项目工程 十分 巨大 ,这种 时间的 损耗 就会十分巨大 。

就会造成 单击游戏 中 的 卡顿 。FPS 值下降。 类似 网络游戏 的 高 PING 值。

玩家就会“卡了卡了”。

理解 接口 实际上 可以理解为 ,是 最简化 的 类。而且这个类 比 继承: MonoBehaviour的类 还要快。

作用3:查找作用。通过 接口类 找到 某一物体 的(继承了接口类)组件 的接口类 (里面声明)的变量 

有2个物体car 和 wall 继承 同一个接口 Interface TI_Damage,那么 另外一个 正常没有继承接口的 组件 Test_Interface 可以通过 接口TI_Damage 找到 这两个

物体 car 的 TI_Car组件 和 wall 的 TI_Wall 组件,并 改变 两者共同拥有 接口 Interface TI_Damage 的 变量 Name 和Health。

[Unity&C#&接口]通过接口调用不同类型 物体 的继承了接口的组件

转载请注明原文地址: https://www.6miu.com/read-43839.html

最新回复(0)