依赖,关联,聚合,组合

来源:互联网 发布:第二次海湾战争知乎 编辑:程序博客网 时间:2024/05/18 21:09

一:继承/泛化
    public class Employee
    {
    }
    public class SaleEmployee:Employee
    {
    }

二:依赖:依赖关系是指一个类对别一个类的依赖(如动物依赖于水和氧气)
    就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、、临时性的、非常弱的,但是B类的变化会影响到A;
    其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义。
    public class Employee
    {
        public long TakeMoney(Bank bank)
        {
            return long.MaxValue;
        }
    }

三:关联:关联是指一个类用到了(知道)另外的一个类,但不依赖。
    体现的是两个类、或者类与接口之间语义级别的一种强依赖关系;这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的、关联可以是单向、双向的;表现在代码层面
    关联associations:是类之间的词法连接,使一个类知道另一个类的公开属性和操作。
    public class Shcool
    {
        public Student stu;
    }
    public class Student
    {
    }

四:聚合:聚合与关联的区别在于聚合的两个类之间的关系在概念层次上不是一个级别的,一般来说聚合中的类关系总是一个类比别一个类要高级一些,而关联基本上是平级的
    public class Car
    {
        public Engine engine;
        public Wheel wheel;
    }
    public class Engine
    {
    }
    public class Wheel
    {
    }

五:合成/组合:合成是一种特殊的聚合形式,它是提类与类之间的联系是非常密切的,少了那一个也不行。
class Bird
{
    private Wing wing;
    public Bird()
    {
        wing = new Wing();
    }
}

原创粉丝点击