接口的暴漏

面向接口设计最大的一个理由就是减少耦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函数。向上转型为一个接口就可以在这里接口里放想要暴露的函数,这样我们在开发过程中暴露接口就保护了我们的方法…

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鼾声鼾语

感谢您的支持鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值