接口的暴漏

面向接口设计最大的一个理由就是减少耦zhi合性。如果程序中的各个组件以接zhuan口而非具体的类相互衔接,那么对组件进行替换就轻而易举。这个特性可以使你简单的完成组件替换,而无需触及应用程序中的其他部分代码;当然,它还可以使得应用程序无需关心具体的组件实现而平滑运转。
此的松耦合机制的最大好处,就是可以为测试提供更多的便捷。通过面向接口设计,我们可以用同一个接口的虚拟实现来替代真实实现,从而使得测试的灵活度得到提升

低耦合,高内聚.
好处:易于维护,可读性高,方便扩展,前人总结之经验.

暴露接口:
就是你写好了一段程序,提供给别人一个访问的接口,别人不管你怎zhuan么实现的,调用者只需知道访问的方法及返回值就可以。如:你写的方法
public int sum(int a,int b)
{ int c = 0;

return c;
}
调用者不管你sum怎么实现,只需知道sum()需要两个int参数,返回值是int即可。

其中小红回调中

学生看作电脑,学生暴漏了自己的方法,计算器看作U盘,电脑在调用u盘的时候,可以传入内部类的对象引用,调用接口调用暴露的方法
举例如下案例如下:结合小红的接口回调理解。

interface A{  void method1();  
}  
class B{  private void f(){System.out.println("f()");}  private void g(){System.out.println("g()");}  public A getA(){  return new AImp();  }  private class AImp implements A{  public void method1(){  f();  }  public void method2(){  g();  }  }  
}  
public class Test{  public static void main(String[] args) {  B b = new B();  //AImp aImp = b.new AImp(); // 由于AImp是private的 error  A aImp = b.getA();// b.getA()向上转型,转型为一个接口 就可以在这里接口里放想要暴露的函数。  aImp.method1();  // 只暴露menthod1  // aImp.method2(); // The method method2() is undefined for the type A  }  
} 

使用接口来只暴露method1函数。向上转型为一个接口就可以在这里接口里放想要暴露的函数,这样我们在开发过程中暴露接口就保护了我们的方法…


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部