zoukankan      html  css  js  c++  java
  • 聚合与组合

    组合关系的类具有相同的是生命周期。

     public  class GooseGroup  
        {  
            public Goose goose;  
      
      
            public GooseGroup(Goose goose)  
            {  
                this.goose = goose;  
            }  
        }  
    public class Goose  
    {  
        public Wings wings;  
      
        public Goose()  
        {  
            wings=new Wings();  
        }  
    }  

    聚合关系的类里含有另一个类作为参数

    雁群类(GooseGroup)的构造函数中要用到大雁(Goose)作为参数把值传进来 大雁类(Goose)可以脱离雁群类而独立存在 

    组合关系的类里含有另一个类的实例化

    大雁类(Goose)在实例化之前 一定要先实例化翅膀类(Wings) 两个类紧密耦合在一起 它们有相同的生命周期 翅膀类(Wings)不可以脱离大雁类(Goose)而独立存在

    信息的封装性不同

    在聚合关系中,客户端可以同时了解雁群类和大雁类,因为他们都是独立的

    而在组合关系中,客户端只认识大雁类,根本就不知道翅膀类的存在,因为翅膀类被严密的封装在大雁类中。

  • 相关阅读:
    cpuset
    top
    path-lookup
    strace
    IDR算法[原理]
    cgroup
    转载
    std::reverse_iterator::base
    可重入、不可重入
    chromium code 中 普遍使用的 C++11 语法
  • 原文地址:https://www.cnblogs.com/dobestself-994395/p/4539995.html
Copyright © 2011-2022 走看看