接口和抽象类的区别

2019-07-18  本文已影响0人  在一颗大大大榕树下

今天代码敲着敲着突发奇想,接口和抽象类是一直在用,但是究竟这两者的区别在哪里。思考了一下,打算写下来,也算是每日的小记录吧。

我觉得接口应该是抽象类的升华,抽象类侧重规范同一种类,接口规范了方法。

我记得很久以前学习接口这样东西看过接水管的例子,那个例子我印象还挺深刻。

客户需要一根水管,出水口一个月就要换个形状。
然后我们在墙上插了根圆形的水管,造了很多很多形状不同的出水口端,在客户需要的时候去和圆形水管做连接。只要这些出水口衔接端遵守圆形这个规则就能成功衔接。这个“圆形”就是接口,是一个约束。
现在想来抽象类也用这个比喻的话大约是客户需要很多很多水管,然后约定,这根水管18cm,圆形。然后我们批量造出来之后,客户可以要求颜色改变(抽象方法)。

上一篇下一篇

猜你喜欢

热点阅读