类之间的关系学习

http://www.cnblogs.com/liuling/archive/2013/05/03/classrelation.html学习

http://blog.sina.com.cn/s/blog_59ca2c2a01012ido.html

在学习之前,先根据我们很很有限的开发经历,来看看类之间有什么关系?我们用过哪些呢?

这里的类包括抽象类,类,接口、这里面关系其实更复杂,但是初次认知,只要认识其基础就行,

1、继承

子类和父类之间的关系

2、实现

类实现接口中的所有方法,期中接口中的变量为static final变量

继承和实现很好理解,不多说。但是对于UML图中,有箭头和直线。

继承:实线+ 空心箭头

实现: 虚线+空心箭头

3。关联关系:(实现+箭头)

隐约在数据库的表的设计中,也有类似概念

一对一:一个女人只能有一个老公,一个老公只有老婆(可能有例外)

所以学生类

class Girl                 

{

  Boy b;

}

class  Boy

{

Girl g;

}

对于一对一的关联,需要,每个女孩对象都对应一个男孩对象,同时  。。。。

所以 女孩类中设置一个属性为Boy 对象,男孩类中有一个Girl 对象。

一对多:一个学生只能毕业于一所大学,但是一个大学有好多学生。

class  Studnet

{

Schlool s;//该属性表示毕业的大学

}

class  School

{

ArrayList<Student> array;//保存一个学校对应的学生

}

懂了吗,多对多久不举例子了,

其实在属性中使用了对方的类的对象做为属性。

4.依赖关系:

类A依赖B是怎么依赖的呢?

举个简单的例子吧

Class A

{

public void fun(B a)

{

B.methode();//调用B的某方法

}

}

2.

class  A

{

public void fun()

{

B b=new B;

System.out.println(b.属性);

}

}

类B创建了A的对象, 使用A的方法和属性都叫依赖A,用了别人家的东西就叫依赖啊,而关联关系是相互的,但是依赖可以是单方面的。

5聚合和组合:

放到一起,因为太像了。他们都是整体和部分关系,

聚合: 整体和部分可以好聚好散,说白了,你从销售部分调用几个人,从技术调用几个人,当做一个小组,这些人都是临时部门的一部分,这种关系叫聚合,因为这些人可以以后属于其他部门和小组。

组合:你的头和你的腿,手,组合成了你自己,请问你的这些部分可以属于其他的整体吗?大多数不可以。这就是组合。

以后再研究

原文地址:https://www.cnblogs.com/hansongjiang/p/3795364.html