当前位置:首页 > Windows程序 > 正文

C# 接口《通俗解释》

2021-03-28 Windows程序

为什么要用接口?好处在哪里?

冥冥之中你的工作是一个修水管的,一天客户找上你让你帮装水管,但是有个要求,就是客户喜欢管子是三角形的。

你立马买了三角形的水管回来,在墙上弄个三角形的口子,客户付了钱,,你很开心今天有了收入,如下图,很好:

但是好景不长,客户过了一个星期又来找,因为他觉得三角形不好看,要让你换成正方形的水管,你不得不换,因为顾客就是上帝。好吧,继续在墙上弄个正方形的口子,然后又换成正方形的管子来接上。好了,如下图:(但是可能觉得为什么一开始不说要正方形的?因为需求总在变化。。。)

你累得满头大汗,但是还是完成了。可惜不久,客户又来找你,因为他想换成椭圆形的管子了。你可能会嘴角微微抽搐。有点抓狂。。。。

没办法,做还是要做。你又弄了几个小时完成了,如下图:

此时你是否感觉到疲倦?如果你是一个安于现状的人,那么你的人生都在疲劳的活着。

现在想想办法,客户说不定什么时候又来换管子,因为需求是客户提的。能不能在墙上弄个固定的口子,而客户需要什么管子就把管子买来,只要接起来就行了,而不用每次换都要去墙壁挖一个符合管子的形状的口子吧?没错,就先在墙上弄个圆形的口,这个口就叫做接口。如下图:

如你所见,墙上有个圆形的口,但是按照原本的:

三角形水管两端是三角形
正方形水管两端是正方形
椭圆形水管两端是椭圆形

那是肯定接不上的,因为三角形、正方形、椭圆形的口怎么和墙壁上圆形的口对接呢?

所以先要实现接口,把:

三角形水管一端做成圆形
正方形水管一端做成圆形
椭圆形水管一端做成圆形

如图所以,圆形接口做出来了,然是具体实现是客户去安装,接口本身并不会安装其他形状的水管,换句话说就是接口没有具体实现,只是告诉你只能这么做,因为我只留这个圆形的口子,你要装别的形状的管子,先把一个弄成圆形的就好了(子类去实现接口的方法),不管什么形状,都要一个必须做成圆形才能对接得上,这就是为什么接口也是规范,它必须要你按照我的规范来做,不然不行。这就是为什么新手会觉得接口什么都不做,就留在那里,没有任何实现,那不是多此一举吗?其实不是,因为它的实现是子类去完成。

这样只要客户喜欢什么形状的水管,只要实现了我的接口(圆形),都能对接得上,而且改变起来也很方便,只要把水管扭上去就行了,不用在去给墙壁挖口子了。

到这里你是不是已经知道接口的作用了?你可能想说,图形好理解,但是代码呢?那就往下看吧。

先声明三个类,里面都有一个print方法。

1 //三角形 2 public class SanJiaoXing 3 { 4 public void print() 5 { 6 Console.WriteLine("三角形的水管接好了"); 7 } 8 } 9 10 //正方形 11 public class ZhengFangXing 12 { 13 public void print() 14 { 15 Console.WriteLine("正方形的水管接好了"); 16 } 17 } 18 19 //椭圆形 20 public class TuoYuanXing 21 { 22 public void print() 23 { 24 Console.WriteLine("椭圆形的水管接好了"); 25 } 26 }

当客户需要三角形管子的时候:

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/69197.html