为什么使用接口?

2023-07-06   


两个类中的两个类似的功能,调用他们的类动态的决定一种实现,那他们提供一个抽象父类,子类分别实现父类所定义的方法。
   问题的出现:Java是一种单继承的语言,一般情况下,哪个具体类可能已经有了一个超类,解决是给它的父类加父类,或者给它父类的父类加父类,只到移动到类等级结构的最顶端。这样一来,对一个具体类的可插入性的设计,就变成了对整个等级结构中所有类的修改。
   接口是可插入性的保证。
   在一个等级结构中的任何一个类都可以实现一个接口,这个接口会影响到此类的所有子类,但不会影响到此类的任何超类。此类将不得不实现这个接口所规定的方 法,而其子类可以从此类自动继承这些方法,当然也可以选择置换掉所有的这些方法,或者其中的某一些方法,这时候,这些子类具有了可插入性(并且可以用这个 接口类型装载,传递实现了他的所有子类)。
   我们关心的不是那一个具体的类,而是这个类是否实现了我们需要的接口。
   接口提供了关联以及方法调用上的可插入性,软件系统的规模越大,生命周期越长,接口使得软件系统的灵活性和可扩展性,可插入性方面得到保证。


相关内容:

  1. 抽象类和接口的区别
  2. 结构和类有什么异同
  3. 接口的多继承会带来哪些问题
  4. 在c#中using和new这两个关键字有什么意义
  5. 在c#中using和new这两个关键字有什么意义
  6. 什么是JNDI的上下文?如何初始化JNDI上下文