发表于: 2017-05-16 18:46:43
1 1276
今天完成的事情:
做了一天的ppt,今天讲的是关于接口与实现
为什么要使用Interface,而不是直接使用一个实体类来完成任务?Interface和Impl这种方式的好处是什么?
接口:
接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式。
是用来隔离具体实现的(或者说是和具体实现解耦)。举个生活中的例子就是:各种手机、移动硬盘等连接上上的USB接口就是标准,大家各自制造自己的具体产品。产品使用者和提供者都遵守这个标准,那么使用者就不必担心自己电脑上的USB接口是否只能插移动硬盘而不能插手机。再打个比方,网络上的各种协议,比如HTTP协议,只要客户端和服务端都遵守这个协议,那么无论是用火狐狸浏览器还是用IE,也或者是360浏览器,都可以访问,不用担心服务端发过来的信息,浏览器解析不了。回到主题,程序接口的使用就将使用者和服务提供者之间进行了解耦,只要实现着遵守这个接口来做实现,使用者就不必担心具体的实现代码怎么写的。
解耦
解耦,就是将程序积木化就像我们玩的积木一样,各个积木可以组合在一起而形成一个形状,又可以拆分,又可以替换,因为基本上各个积木块都是独立的,只要他们之间的接口(形状)匹配,就可以灵活地组合在一起。当然,这是理想状态。解耦是在逐渐达到这个理想状态。&oq=解耦,就是将程序积木化+就像我们玩的积木一样,各个积木可以组合在一起而形成一个形状,又可以拆分,又可以替换,因为基本上各个积木块都是独立的,只要他们之间的接口(形状)匹配,就可以灵活地组合在一起。当然,这是理想状态。解耦是在逐渐达到这个理想状态。
@OVERRIDE
@Override是伪代码,表示重写(当然不写也可以)
1,可以当注释用,方便阅读;
2,编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错。例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法。
什么时候不用写接口?
如果你一个接口,只有一个实现类对应的话,其实你享受不到接口的好处,而且还会觉得制造了很多麻烦。 但你如果有一组类有类似的“行为”,需要对他们进行约束的话,接口就必不可少了,会发现不再考虑具体的实现,大大减少了编程的复杂度
明天计划的事情:
开始任务7
遇到的问题:
无
收获:
对于接口的认识更为深刻
评论