类与类之间的关系总结

                                 类与类之间的关系总结

   类于类之间的关系在我们最近的学习中已经用过不少,只是我们经常忽略它。下面是汇总的类于类的关系。

 类于类的关系主要是有六种;

  1:继承关系

继承:java面向对象的三大特性之一,指的是一个类继承另外一个类的功能,并且增加它自己的新功能的能力,也就是将几个类中的相同特性抽出来放在一个类中。

继承是is-a的关系,是一种表示特殊与一般的关系。

多个类存在相同的属性和行为时,将这些内容抽取到单独的一个类中,那么这个类只要继承即可,此处的多个类就为子类,单独的这个类就是父类。可以理解为子类is a 父类

类的语法规则;class Zi extends Fu{

这里要注意

1;子类不能直接访问父类中私有(private)的成员变量和方法

 

2:子类可以通过settergetert,设置器和访问器来进行访问。

 

3java中只支持单继承,不允许多重继承,一个子类只能有一个父类,一个父类可以派生出多个子类。

 

2:实现关系

实现指的是一个class类实现interface接口,也可以是多个接口的功能,实现是类与接口之间最常见的关系,在java中此类通过关键字implements来明确,接口是可以多重实现的,前面提到继承必须是单继承的,即一个类继承另一个类的时候,那么这个类就不能继承其他的类,而接口无所谓,一个类可以实现一个接口,也可以同时实现其他接口。

 

3:依赖关系

 

依赖关系:是类与类之间的联接。依赖关系表示一个类依赖于另一个类的定义。例如,一个人(Person)可以买车(car)和房子(House)Person类依赖于Car类和House类的定义,因为Person类引用了CarHouse。与关联不同的是,Person类里并没有CarHouse类型的属性,CarHouse的实例是以参量的方式传入到buy()方法中去的。一般而言,依赖关系在Java语言中体现为局域变量、方法的形参,或者对静态方法的调用。简单地说:某个类以局部变量的形式出现在另一个类中,就是依赖关系。

 

4关联关系

联关系体现的是两个类之间语义级别的一种强依赖关系,比如我,和我的朋友,这种关系比依赖更强,不存在依赖关系的偶然性,关系也不是偶然性的,一般是长期性的,而且双方的关系一般是平等的,关联可以是单向,双向,表现在代码层面,为被关联类B以类的属性形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量,在类图中。关联关系用由关联类A指向被关联B的带箭头的实线表示,在关联的两端可以标注关联双方的角色和多重性标记。简单地说某个类以成员变量的方式来出现在另一个类中,就是关联关系。

 

5聚合关系

聚合关系表示的是整体和部分的关系,通常在定义一个整体类后再去分析这个整体类的组成结构,从成员类之间就形成了聚合关系。整体与部分可以分开。在聚合关系中,成员类是整体类的一部分,即成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在。

 

6组合关系

组合关系是关联关系的一种,是比聚合关系强的关系,它要求普通的聚合关系中代表部分对象的生命周期,组合关系是不能共享的。

代表整体的对象需要负责保持部分对象和存活,在一些情况下将负责代表部分的对象湮灭掉。代表整体的对象可以将代表部分的对象传递给另一个对象,由后者负责此对象的生命周期。换言之,代表部分的对象在每一个时刻只能与一个对象发生组合关系,由后者排他地负责生命周期。部分和整体的生命周期一样。

 

 

 

 

 

你可能感兴趣的:(类与类之间的关系总结)