同学们好,
之前咱们讲过C#中接口的使用
在VS给的提示中可以看到,有两种实现方式。如下图
那么这两个有什么区别,以及什么时候用显示实现呢?
下面我们讲一讲。
在VS中添加控制台应用程序,
并添加Human类,类中添加Eat方法。
如下图:
添加IKiller接口,
接口中添加Kill方法。
如下图:
先用第一种形式实现。
如下图:
下面重点来了!!!
在Main函数中,定义Human类实例Jack。
调用Jack的方法,可以看到Jack有Kill这个方法。如下图:
也就是说,我定义的Jack是Human类,
但是每个人都可以看出来Jack是个Killer。
这样显然不合理。
Jack平时不想展示自己杀手的一面,只想做个普通人。
当接收到暗杀任务时,才切换到杀手模式。
那么有办法实现上面的要求吗?
改为显示实现,如下图:
这样再调用Human的Jack,
就看不到Kill方法了。如下图:
如果Jack接收到了暗杀任务,
需要展现杀手的一面,
只需要把Jack的类型,改成IKiller即可。
如下图:
10:
按照惯例总结一下:
接口的显示调用方式,是C#为了更精准的表现现实世界而发明的。
这样的方式更合理。