美文网首页
第三周 C++面向对象高级编程(上)Boolan

第三周 C++面向对象高级编程(上)Boolan

作者: 一般的路人丙 | 来源:发表于2017-02-15 20:06 被阅读0次

    类和类之间有什么关系

    Object Oriented Programming, Object Oriented Design / OOP,OOD

    OOP,OOD
    • Inheritance
    • Composition
    • Delegation

    Composition(复合),表示 has-a

    Composition(复合),表示 has-a

    变化一下以便于理解


    Composition(复合),表示 has-a

    我里面有另一种这个东西
    黑色菱形表示复合
    这是一个特例
    queue里面全部用的是 c 的功能。
    deque 里面可能有100个功能,queue 只用了6了
    Adapter 适配
    已有的deque功能完全满足,只不过变了个名字
    并不是所有的 Composition 都长这个样子
    从内存的角度讲解 Composition


    Composition(复合),表示 has-a

    Composition关系下的构造和析构

    Composition关系下的构造和析构

    构造时由内向外
    析构时由外向内

    Delegation(委托). Composition by reference.

    Delegation(委托). Composition by reference.

    指针指向另一个类
    空心表示指针,引用只是一个指针,暂时还没有

    pimpl
    pointer to implementary 指针到实现
    编译防火墙

    Inheritance(继承),表示 is-a

    Inheritance(继承),表示 is-a

    三者都是面向对象的一部分
    空心三角新表示继承

    Inheritance(继承)关系下的构造和析构

    Inheritance(继承)关系下的构造和析构

    Inheritance with virtual functions(虚函数)

    Inheritance with virtual functions

    成员函数分为三种
    non-virtual 函数,虚函数:你不希望 derived class 重新定义(override,复写)
    virtual 函数:你希望 derived class 重新定义(override,复写)
    pure virtual 函数:你希望 derived class 一定要重新定义它,你对它没有默认定义。

    Inheritance with virtual

    打开不同的文件,需要调用不同的函数
    Inheritance with virtual

    23个重要模式之一
    Template Method
    MFC


    Paste_Image.png

    Inheritance + Composition 关系下的构造与析构

    Inheritance + Composition 关系下的构造与析构 Inheritance + Composition 关系下的构造与析构

    Delegation + Inheritance

    Delegation + Inheritance
    对同一组数据有多重查看方式
    Delegation + Inheritance
    Composite Prototype

    Prototype
    下划线代表静态
    -Private
    # Protected
    +Public

    Prototype Prototype

    相关文章

      网友评论

          本文标题:第三周 C++面向对象高级编程(上)Boolan

          本文链接:https://www.haomeiwen.com/subject/srazbttx.html