2020.09.29 軟體需求工程學習筆記

lingyueyueyue發表於2020-09-29

類與類之間的關係
1.Generalization 泛化(extends 繼承)
①語義:一個類(稱為子類、子介面)繼承另外一個類(稱為父類、父介面)的功能,並可以增加它自己的新功能。
②Java語法:
class Person {
}
class Student extends Person {
}
③UML圖:
在這裡插入圖片描述

2.Realization 實現
①語義:一個類可以實現多個介面,實現所有介面的功能;體現了規範和實現分離的原則。
②Java語法:
interface A{
public void a();
}
class B implement A{
public void a(){
System.out.println(“實現介面A”);
}
}
③UML圖:
在這裡插入圖片描述

3.Dependency 依賴
①語義:一個類A使用到了另一個類B,但是這種使用關係是具有偶然性的、臨時性的、非常弱的,但是類B的變化會影響到類A。
②Java語法:
class Car{
public void run(Petrol petrol){}
}
class Petrol{}
public class dep{
public static void main(){
Car car = new Car();
car.run(new Petrol);
}
}
③UML圖:
在這裡插入圖片描述

4.Association 關聯
①語義:關聯是兩個獨立的類之間,通過它們的物件建立的關係。
②Java語法:
class Bank{
private String name;
Bank(String name){
this.name = name;
}
public String getBankName(){
return this.name;
}
}
class Employee{
private String name;
Employee(String name){
this.name = name;
}
public String getEmployeeName(){
return this.name;
}
}
class Association{
public static void main(String[] args){
Bank bank = new Bank(“CBB”);
Employee emp = new Employee(“李華”);
System.out.println(emp.getEmployeeName()+”is employee of”+bank.getBankName());
}
}
③UML圖
在這裡插入圖片描述

5.Aggregation 聚合
①語義:是整體與部分的關係,且部分可以離開整體而單獨存在。
②Java語法:
class Car{
public static void run(){
System.out.println(“汽車在奔跑”);
}
}
class Driver{
Car mycar;
public void drive(){
mycar.run();
}
}
③UML圖:
在這裡插入圖片描述

6.Composition 組合
①語義:是整體與部分的關係,但部分不能離開整體而單獨存在。
②Java語法:
class Department{
}
class Company(Department dep){
mydep = dep;
}
③UML圖:
在這裡插入圖片描述

相關文章