接口的理解
接口其实无处不在
比如这个网关上的网口就是一种接口,我的网线可以插上去而使用苹果的充电线就无法连接,也就是说我这个接口在设计时就规定了:想连接上我你们必须满足我的接口规格规范
满足了规范的数据线才能被这个网口所接受
面向对象中的接口也是一样的
接口里写着'规范'(要是什么样的,能满足哪些行为)继承接口的对象必须实现接口里所规定的,也就是说要把数据线制作成网口设计时所规定的规格
实现了接口的对象才能被某种需求所接受
int[] myVal = {...};
Array.Sort(myVal);
myVal数组会很好地被排序
class MyClass
{
int val;
}
MyClass[] mc = {...};
Array.Sort(mc);
mc无法被排序,因为Array.Sort()排序方法里面需要将传入数组中的元素相比较它所需要的是满足IComparable接口规范的对象,而我们自定义的MyClass并不满足IComparable接口规范所以我们要将MyClass实现这个接口:
按F12去查看IComparable接口中的规定:大致意识是必须实现CompareTo函数传入参数为另一个对象的值,如果本对象值大于它的值则返回一个正数,如果相等则返回0,否则返回一个负数
实现过程:
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点