不同类实现一个接口的事例。
1 |
|
输出:
1 | 昵称是:Kitten |
ILiveBird b = a as ILiveBird; // 关键代码
,as
转换,失败不会报异常,而是返回null
。
注意:每个接口的实现都采用的是显式实现,所以,只有ILiveBird b = a as ILiveBird;
强制转化成接口引用才能够访问实现成员;通过继承接口的类实例不能够直接访问接口的实现成员。例如,上面以animalArray[0].BayCalled()
这样的形式是不能够直接访问的,必须先强制转化成接口引用类型,通过接口去访问BabyCalled()
。