依赖/泛化/关联/实现/聚合/组合的C#实现


泛化(Generalization)

     所谓的泛化就是我们最常用的继承关系

 1:     public class Employee
   2:      {
 3:         
   4:      }
 5:     public class SaleEmployee:Employee
   6:      {
 7:         
   8:      }

  • 依赖(Dependency)

依赖关系是指一个类对别一个类的依赖,比如说Employee类中有一个方法叫做TakeMoney(Bank bank)这个方法,在这个方法的参数中用到了Bank这个类,那么这个时候可以说Employee类依赖了Bank这个类,如果Bank这个类发生了变化那么会对Employee这个类造成影响。

 1:     public class Employee
   2:      {
 3:         public long TakeMoney(Bank bank)
   4:          {
 5:             return long.MaxValue;
   6:          }
 7:     }

依赖/泛化/关联/实现/聚合/组合的C#实现_第1张图片

 

  • 关联(Association)

      关联关系有点边界模糊和依赖有点像,但又完全不像。关联是指一个类用到了另外的一个类,但不依赖。还是用代码来表达比较贴切

 1:     public class Shcool
   2:      {
 3:         public Student stu;
   4:      }
 5:     public class Student
   6:      {
 7:         
   8:      }

依赖/泛化/关联/实现/聚合/组合的C#实现_第2张图片

 

  • 聚合(aggregation)

        聚合是一种单向关系,聚合与关联的区别在于聚合的两个类之间的关系在概念层次上不是一个级别的,一般来说聚合中的类关系总是一个类比别一个类要高级一些,而关联基本上是平级的

 1:     public class Car
   2:      {
 3:         public Engine engine;
   4:          public Wheel wheel;
 5:     }
   6:      public class Engine
 7:     {
   8:          
 9:     }
  10:      public class Wheel
 11:     {
  12:          
 13:     }

 

依赖/泛化/关联/实现/聚合/组合的C#实现_第3张图片

  • 合成(Composition)

合成是一种特殊的聚合形式,它是提类与类之间的联系是非常密切的,少了那一个也不行。

  • 实现(Realization)

简单的说就是接口

依赖/泛化/关联/实现/聚合/组合的C#实现_第4张图片

你可能感兴趣的:(依赖/泛化/关联/实现/聚合/组合的C#实现)