c# 接口
·
1.定义:
接口是一个可以包含方法、属性的类型。
2.使用规则:
(1)接口不能实例化,所以不能包含构造函数和静态成员。
(2)接口中的所有成员都没有方位修饰符(默认是public,且不需要显式声明)。
(3)以“interface”关键字声明接口类;名字为“I+自定义名”。
(4)实现接口的类必须实现接口中定义的所有成员,并且相匹配,如果接口包含泛型,那么实现类必须确定泛型。
(5)在c#中一个类只能继承一个父类,但可以实现多个接口。
3.代码示例:
接口类:
using UnityEngine;
using System.Collections;
//这是只有一个必需方法的基本接口。
public interface IKillable
{
void Kill();
}
//这是一个通用接口,其中 T 是将由实现类提供的数据类型的占位符。
public interface IDamageable<T>
{
void Damage(T damageTaken);
}
实现接口的类:
using UnityEngine;
using System.Collections;
//实现IDamageable接口时,必须确定T的类型
public class Avatar : MonoBehaviour, IKillable, IDamageable<float>
{
//IKillable 接口的必需方法
public void Kill()
{
//执行操作
}
//IDamageable 接口的必需方法
public void Damage(float damageTaken)
{
//执行操作
}
}
4.适用场景:
因为一个类可以实现多个接口,所以接口的灵活性比继承更高。
并且接口可以定义多个完全不相关类的通用功能,比如“墙类”和“车类”,两者毫不相关,但是都具有“可被摧毁”这一个特性。这种情况下,设计父类没有意义,可以设计接口定义通用特性,在墙类、车类中自实现。
更多推荐



所有评论(0)