cpp-设计模式-设计模式的概念

  1. 设计模式的概念

设计模式的概念

  1. 面向对象的底层思维和抽象思维
    • 底层思维:向下,如何把握机器底层从微观理解到对象构造
      • 语言构造
      • 编译转换
      • 模型内存
      • 运行时机制
    • 抽象思维:向上,如何将周围的事物转换为程序代码
      • 面向对象
      • 组件封装
      • 设计模式
      • 架构模式
  2. 向下,三个面向对象的机制
    • 封装,隐藏内部实现。
    • 继承,复用现有代码。
    • 多台,改写对象行为。
  3. 如何解决复杂性:分解和抽象:
    • <shape*>,支持多态性质,需要使用堆对象的指针。
    • 虚函数→多态调用。静态多态和动态多态:
      • 静态多态:主要体现在函数重载和模版中,是编译的时候就确定了。
      • 动态多态:则是在运行时决定,主要体现在虚函数上。
    • 虚函数和纯虚函数:
      • 虚函数:虚函数是在基类中使用关键字virtual声明的函数,在派生类中重写这个函数,来实现多态。

        虚函数在基类中要有定义,除非它是纯虚函数。

        如果派生类没有重写基类的虚函数,那么会使用基类中的虚函数。

        可以有虚函数的默认实现,因此可以创建基类的实例。

      • 纯虚函数:

        • 纯虚函数在基类中使用‘=0’来声明,virtual void func() = 0;,在基类中没有定义。
        • 纯虚函数用来设置接口规范,或者称之为协议,派生类需要重写这个函数才能实现这个接口。
        • 如果派生类没有重写基类的纯虚函数,那么派生类也将编程抽象类。
        • 不能创建包含纯虚函数的类的实例,这样的类被称为抽象类。
    • 分解:不易复用;抽象:便于统一管理。⏎

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com

💰

×

Help us with donation