使用场景:在有很多的类有相同的特性时,可以把相同的特性抽像出来管理
例子:就像手机和电脑和电视都是电子产品然后都有开机和关机的行为就可以抽像出来(使用一个电子产品类,然后前面的类都去实现这个接口)再由电子产品工厂类来创建客户想要的类 优点:面向接口编程,体现了面向对象的思想,将创建对象的工作交给了工厂类
缺点:就像如果添加一个电视类的话,这个类也要实现这个接口然后会使得系统中类的个数会很多 在一定的程度上会增加系统的复杂度,同时也增加了系统具体类的依赖(下面的图会说明)
代码:
电子产品接口:
电脑类:
手机类:
电子产品工程类:
结构图: