接口的定义与使用
- 接口优先原则:在一个操作即可使用抽象类又可使用接口的时候,优先考虑使用接口。
- 定义(JDK8以前):接口就是抽象方法与全局常量的结合(纯粹版的抽象类)interface
- 接口命名:使用I开头
- 子类的命名规范:接口名为IMyInterFace,子类实现此接口命名为MyInterfaceImp1
- 父接口间的相互转换:前提是两个父接口拥有共同的实现子类。
- 接口中只允许public权限(不管是常量还是方法)
- 一个抽象类可以使用implements实现多个接口,接口不能继承抽象类。
- 接口可以使用extends继承多个父接口(接口多继承)
接口应用
- 定义操作标准
- 表示能力
- 分布式开发之中暴露远程服务方法
工厂设计模式
将客户端你的new操作解耦到第三方(工厂类)
-
简单工厂-产品个数少,没有家族
1.一个抽象产品类(接口)-Computer
2.多个具体产品类-Macbook,Surfacebook
3.一个工厂(new操作在此工厂中进行)-客户端通过工厂获取具体事例 -
工厂方法模式(横向扩展方便)–每个产品有自己家族,家族下有很多兄弟
定义一个用来创建对象的接口,让子类决定实例化哪一个类。
针对每个产品(产品族)提供一个工厂类,客户端需要判断使用哪个工厂。
1.一个抽象产品类
2.多个具体产品类
3.一个抽象工厂(-针对抽象产品)
4.多个具体工厂(每个产品家族拥有自己的工厂) -
抽象工厂模式-多个产品线混合