当前位置:主页 >> 数据库安全 >> 正文
UML系列——类图class的依赖关系
阅读:1139 输入:2015-05-27 12:55:13

1.依赖关系的概念与符号

依赖表示一个类以某种形式依赖于其他类。当两个类处于依赖关系中时,其中一个类的改变可能会影响另一个类。如:

依赖关系

2.依赖关系在代码中的表现

在程序代码中,依赖关系意味着一个类的对象出现在另一个类的操作中。常见的有两种情况:一个类将另一个类的对象作为自己某个操作的参数(形参),或者是操作的局部变量。

class train{
        public string number;

        public train(string num) {
            number = num;
        }

        public void run(){
            Console.WriteLine("列车启动……列车到站");
        }
}
class person{
        public string name;
        public person(string name){
            this.name=name;
        }
        public void GoToBeijing(train mytrain){ //从河南到北京
            Console.Write(name+"去北京乘坐{0}列车:",mytrain.number);
            mytrain.run();
        }
        public void GoToHenan(){//从北京到河南
            train mytrain = new train("1488"); 
            Console.Write(name + “去河南乘坐{0}列车:", mytrain.number);
            mytrain.run();
        }
}
class Program{
        static void Main(string[] args){
            person person1 = new person("张三");
            person person2 = new person("李四");

            train train1 = new train("1487次"); //河南到北京
        train train2 = new train(“1488次”); //河南到北京
        person1.GoToBeijing(train1);
            person2.GoToBeijing(train2);
            person1.GoToHenan();
            person2.GoToHenan();
        }
}

对应的类图:

3.依赖关系与关联关系的区别

a、符号和在代码中的区别

b、语义上的区别

当一个类的实例与另一个类的一些特定实例存在固定的对应关系时,这两个类之间为关联关系。

只要一个类用到另一个类,但是和另一个类的关系不是太明显的时候(可以说是用到了那个类),就可以把这种关系看成是依赖,依赖也可以说是一种偶然的关系。

比如上面的人和火车的关系:在某个方法中偶然用到了它,但在现实中我和它并没多大关系。

依赖关系还是比较好理解的,注意和关联关系的区别及符号的表示方式不同,一个用虚箭头,一个用实箭头。