关键要搞懂为什么用接口。也就是为什么接口要存在。
面向对象编程有个非常重要的理念(注意是理念)——最大程度解耦。
什么叫解耦我不说用解释了吧?
用接口的好处,就是对实现类的依赖解耦。
首先,你这里定义成Closure没有任何问题!记住,是对的!没有问题!
但是,如果从结构来说的话,意味着你的TeachableProgrammer“只能使用”Closure,而不是使用一个Teachable。
从程序本身来说没有区别,但是从结构上来说,TeachableProgrammer严重依赖Closure
举个接口例子:
一个好的结构,相当于高富帅。而依赖严重的结构,相当于屌丝。
屌丝喜欢的是林小妹子,没有林小妹子就活不了。
而高富帅喜欢的是漂亮妹子,只要是漂亮的媒资都行,林小妹子只是其中一个
因此屌丝每天的心苦苦追求,而高富帅每天开开心心。
留座,手机上回答