快生活 - 生活常识大全

中显示实现接口的意义


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