如何让女朋友理解 什么是接口
2019-02-22 本文已影响0人
e5d2c7f0a5c4
- 接口
在实际的开发过程中,会在接口中定义很多种方法,然后再通过调用接口中的方法来完成一些想要的效果,而接口中定义的方法,在接口中是没有什么具体的功能和实现的,需要有一个新的类来实现这个接口.其实就相当于一个标签一样.
就比如说你看到AD这个标签 你就会知道 这个英雄一定是物理攻击比较高 技能ad加成比较多.
你看到AP这个标签 你就知道这个英雄一定是法强比较高 法术技能比较多 .
你看到KFC这个标签 你就知道 这个地方 你一定可以买到炸鸡吃.
那么标签的好处是什么呢
就是你看到这个英雄 是 AD 你就不会给他出法系装备
你看到这个英雄 是AP 你就不会给他出物理装备
当然 如果你一定要跟我杠 确实 有的英雄 既可以出物理 又可以出法系 那么他就可以 继承两个接口
你看到KFC就不需要再进去问 你好 请问这里有炸鸡嘛 我想应聘麦当劳可以嘛.
所以对接口的管理也是比较重要的.
接口另一个好处是什么呢
就比如你今天去买炸鸡,你不需要知道 这个炸鸡是怎么炸的 你就只要知道你想吃炸鸡,可以吃到炸鸡就可以了 也许第二天KFC炸鸡秘方换了 也就是实现接口的方法换了 但是跟你也没关系 因为你只要知道 你能吃到炸鸡就行了.
在代码中 来举个例子 首先 建立接口的时候
image.png
选择的是 这个Interface
ad的接口
package teach.dao;
/**
* @author employeeeee
* @Descriotion:
* @date 2019/2/22 17:54
*/
public interface Ad {
String imAp();
}
ap的接口
package teach.dao;
/**
* @author employeeeee
* @Descriotion:
* @date 2019/2/22 17:54
*/
public interface Ap
{
String imAp();
}
可以看到定义了两个方法 但是方法是没有具体的功能的 只是定义了一个 我是AD 和 我是AP
然后需要再定义Class来实现这个接口
AdImpl
package teach.dao;
/**
* @author employeeeee
* @Descriotion:
* @date 2019/2/22 17:56
*/
public class AdImpl implements Ad {
public String imAp() {
return "我是一个Ad";
}
}
ApImpl
public class ApImpl implements Ap {
public String imAp() {
return "我是一个ap";
}
}
然后我们在一个类中 调用这个接口的方法
package teach.dao;
import javax.annotation.Resource;
/**
* @author employeeeee
* @Descriotion:
* @date 2019/2/22 17:59
*/
public class Hero {
@Resource
private Ad ad;
public void main(String[] args) {
ad.imAd();
}
}
可以看到 我们并不需要知道 这个方法具体实现了什么 但是 看到他引用的是AD
这个接口 就可以知道 这个英雄是AD!!!!
理解起来可能不是很好理解 大概明白接口的作用就好 在后边跟你讲框架的时候 用的就会比较多了