软件设计——继承、多态、绑定、重置、抽象工厂、生成器、工厂方法、原型

补充:

继承:父类和子类之间共享数据和方法的机制,一个父类可以有多个子类,父类描述了这些子类的公共属性和方法,一个子类可以继承它的父类中的属性和方法,这些属性和操作在子类中不必定义,子类中还可以定义自己的属性和方法。

多态:在收到消息时,对象要给予响应,不同的对象收到同一消息可以产生完全不同的结果

参数多态:一个类型是另一个类型的子类型

过载多态:同一个名字在不同的上下文中所代表的含义不同

静态绑定:在编译时进行的

动态绑定:在运行时进行的,当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实现的方法进行连接

重置/覆盖:在子类中重新定义父类中已经定义的方法,其基本思想是通过一种动态绑定机制的支持,使得子类在继承父类接口定义的前提下用适合自己要求的实现去置换父类中的相应实现

扫描二维码关注公众号,回复: 7299393 查看本文章

抽象工厂(Abstract Factory):

① 意图:

提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类

②模式适应于:

  • 一个系统要独立于它的产品的创建、组合和表示时。
  • 一个系统要由多个产品系列中的一个配置时。
  • 当要强调一系列相关的产品对象的设计以便进行联合使用时。
  • 当提供一个产品类库,只想显示它们的接口而不是现实时。

生成器(Builder):

①意图:

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示

②模式适用于:

  • 当创建复杂对象的算法应该孤立于该对象的组成部分以及它们的装配方式时。
  • 当构造过程必须允许被构造的对象有不同的表示时。

工厂方法(Factory Method):

①意图

定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类

②模式适用于:

  • 当一个类不知道它所必须创建的对象的类的时候。
  • 当一个类希望由它的子类来指定它所创建的对象的时候
  • 当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候

原型(Prototype):

①意图:

用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象

②模式适用于:

  • 当一个系统应该独立于它的产品创建、构成和表示时。
  • 当要实例化的类是在运行时刻指定时,例如,通过动态装载
  • 为了避免创建一个与产品类层次平行的工厂类层次时
  • 当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们,可能比每次用合适的状态手工实例化该类更方便一些。

猜你喜欢

转载自www.cnblogs.com/sunjiaojiao/p/11532147.html
今日推荐