zoukankan      html  css  js  c++  java
  • 建模语言的概念 与编程语言概念相应关系(入门必读)


    1. 泛化(Generalization)

      在c++中相应继承,如B是A的泛化,在C++中表现为:

    class B : public A
    {
      public:
        B() {}
        virtual ~B() {
    }
    }

    </pre><pre>
    2.实现(Realization)

      在C++中相应,相应是虚拟函数的概念,如B实现了A。是实现了A中虚拟函数的详细功能(接口),在C++中表现:

    class A
    {
        public:
    	A() {}
    	virtual ~A() {}
    	virtual void fun(int x,int y) =0;
    
    };
    class B : public A
    {
      public:
            B() {}
    	virtual ~B() {}
            virtual void fun(int x,int y);
    }
    
    
    
    
    3.关联(Associate)
    是一种伙伴关系,如B关联了A, B知道A的属性与方法(B能够使用A的属性与方法),在C++中相应 方法的參数:
    class B {
          public:
    	B() {}
    	virtual ~B() {}
    	void fun(A *m_A);
    }


    
    
    
    

    4.聚合关系(Aggregation)
    是总体与个体的关系。是一种联合国样式的组织,是一种弱包括,每一个个体都能够独立存在。在C++中相应的属性生命周期的概念聚合关系中,个体的生命周期不归总体掌控。
    class B
    {
       public:
          B() {}
          virtual ~B() {}
          A *m_A;
    }


    
    
    
    
    在详细实现中。A的个体在B之外生成。在适当的时候把个体以指针的形式传递给B就可以。
    5.组合关系(Composition)
    是总体与个体的关系。是一种同生共死的组织,是一种强包括,每一个个体都不能够独立存在。在C++中相应的属性生命周期的概念组合关系中,个体的生命周期归总体掌控。
    class B
    {
      public:
         B() {}
         virtual ~B() {}
         A m_A;
    }


    
    
    
    
    在详细实现中也能够用指针。这时候要注意B要掌管A的生死就可以



  • 相关阅读:
    趁热讲讲skin.xml支持的标签和attributes
    如何配置和编译ogre 1.7.0 + cegui 0.7.1
    关于OGRE基础教程6中CEGUI的layout文件can not locate的问题
    skin.xml皮肤配置讲解
    OCX控件注册相关(检查是否注册,注册,反注册)
    重回博客园继续我的 GUI库
    窗口类的定义
    UI库需要完成的任务
    屏幕截图代码
    深入C++的默认构造函数1
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/6827062.html
Copyright © 2011-2022 走看看