referce: 繼承、實現、依賴、關聯、聚合、組合的簡單代碼表示
面向對象編程(OOP)時最常用到的概念
OOP
什麼是面向對象(OOP)
1.繼承關係
1) 文字描述
一個類或者接口繼承了另一個類或者接口,並在原有的方法和屬性上增加了新的方法和屬性。
2) 代碼表示
class A{ }
class B extends A{ }
B繼承了A中的所有的方法和屬性,對於私有的方法和屬性,子類只能是擁有,但無法直接使用。
2.實現關係
1)文字描述
一個class類實現了interface接口
2)代碼表示
interface A{ }
class B implements A{ }
//類B實現了接口A,使用關鍵自implements,接口和接口的繼承實用的是extends
3.依賴關係
1)文字描述
依賴關係表示一個類依賴於另一個類的定義,一般依賴關係在java中提現爲局部變量、方法的形參,或者對靜態方法的調用,這是一種弱關係。
2)代碼描述
class A{}
class B{
public void abc(A a){}//在B類中的沒有A的屬性,而是以形參的方式引入
}
4.關聯關係
1).文字描述
一般以類的屬性形式出現在關聯類中,在java中關聯關係一般使用成員變量來實現。又分爲聚合關係和組合關係。
2).代碼描述
class A{}
class B{
A a;//成員變量引入了A類
}
5.聚合關係
1)文字描述
聚合關係 has a,關聯關係較弱,後期使用不會因爲對象的刪除而刪除
2)代碼描述
class A{ }
class B{
A a;//成員變量引入了A類
B(A a){
this.a = a;
}
}
6.組合關係
1)文字描述
組合關係 contains a,關聯關係較強,整體和部分是不可分割的,他們又共同的生命週期。
2)代碼描述
class A{ }
class B{
A a;//成員變量引入了A類
B() {
this.a = new A();
}
}