抽象类与接口的比较和工厂模式与代理模式简述

                    抽象类                                                                    接口

抽象类与接口对比
  抽象类 接口
定义 可包含抽象方法的集合 只能包含抽象方法的集合
组成 属性、方法、构造器、代码块、内部类、抽象方法 全局常量、抽象方法
使用 被具体子类继承(extends) 被具体子类实现(implements)
关系 抽象类可以实现接口,不必实现所有抽象方法 接口只能继承接口,并且多继承
常见设计模式 模板模式 工厂模式,代理模式
对象 都是通过具体子类实现
局限 单继承 一个具体类可以实现多个接口
实际 作为一个模板 一种规范
选择 优先选择接口
特殊 一个抽象类可以包含多个接口,一个接口可以包含多个抽象类

工厂模式:

把创建对象的任务交给子类去完成,创建对象也推迟,实现代码和具体对象的创建的分离

代理模式:

通过一种通用的统一的接口,实现对不同对象的访问,省略了实现的细节。隔离

猜你喜欢

转载自blog.csdn.net/dagedeshu/article/details/86568522