1、泛化關係:是一種繼承關係,表示通常與特殊的關係,用於描述父類與子類之間的關係。 在UML中,泛化關係使用帶空心三角形的實線來表示,即子類 指向 父類。java
實現代碼以下ide
//User類 public class User { private String name; private int age = 0; private int gender; public User getUserInfo(String userId) { // TODO implement return null; } public int updUserInfo() { // TODO: implement return 0; } protected int creatUserInfo() { // TODO: implement return 0; } } //ZhangSan類 public class ZhangSan extends User{ private String nickName; public int playBall() { // TODO: implement return 0; } } //LiSi類 public class LiSi extends User{ private String address; public int swim() { // TODO: implement return 0; } }
2、實現關係:是一種類與接口的關係,類實現接口提供的方法 不少面向對象的語言中都引入了接口的概念,在接口中,一般不會存在屬性,只有方法,並且全部的方法都是隻聲明,沒有實現。 在這種關係中,類實現了接口提供的全部方法。 在UML中,類與接口之間的實現關係是用帶空心的三角形虛線來表示。以下圖所示學習
實現代碼以下code
//接口以下 public interface Animal { public void sound(); public void move(); } //實現類以下 public class bird implements Animal { @Override public void sound() { // TODO Auto-generated method stub } @Override public void move() { // TODO Auto-generated method stub } }
3、關聯關係:是一種擁有關係,它使一個類知道另外一個類的屬性和方法。 關聯關係分爲單向關聯(單個箭頭)與雙向關聯(兩個箭頭) 箭頭及指向:普通箭頭的實心線,指向被擁有者。 以下圖所示對象
上圖中,很明顯,老師與學生的關係是多對多,即一個老師存在多個學生,一個學生也存在多個老師;學生與課程的關係是一對多,即一個學生要學習多門課程。繼承
實現代碼以下接口
//老師類 public class Teacher { private Student studentList; } //學生類 public class Student { private Teacher teacherList; private Course courseList; } //課程類 public class Course { }
4、聚合關係:它表示總體與部分的關係,且部分能夠脫離總體單獨存在。 在UML中,聚合關係採用帶空心菱形的實線箭頭表示,箭頭指向部分。 以下圖 汽車包含 發動機(1個) 與 輪胎(4個),他們的關係是總體與部分的關係。圖片
5、組合關係:它是總體與部分的關係,但部分不能脫離總體而單獨存在。 在UML中,組合關係採用帶實心菱形的實線箭頭表示,箭頭指向部分。 以下圖 頭包含 嘴巴(1個) 與 眼睛(2個),他們的關係是總體與部分的關係。get
6、依賴關係:它是一種使用關係。 大多數狀況下,依賴關係體如今某個類的某個方法必須使用另一個類的對象最爲參數。 在UML中,依賴關係採用帶箭頭的虛線表示,由依賴的一方指向被依賴的一方。 例如 人要拍照,他必須依賴照相機才能拍照。圖以下 人有個想拍照的方法,它依賴相機的 拍照方法 才能拍照it
實現代碼以下
//people類 import java.util.*; /** 人類 */ public class People { public void wantCameraCamera(Camera camera) { camara.takePicture(); } } //Camera類 import java.util.*; /** 照相機類 */ public class Camera { public void takePicture() { // TODO: implement } }