1.封裝
- 屬性私有
- 對(duì)外提供公有的getter/setter
- Fruit的例子
package com.soft1841.week7;
/**
* 水果類(lèi)
*/
public class Fruit {
//名稱(chēng)
public String fruitName;
//價(jià)格
private double fruitPrice;
//產(chǎn)地
protected String origin;
public double getFruitPrice() {
return fruitPrice;
}
public void setFruitPrice(double fruitPrice) {
this.fruitPrice = fruitPrice;
}
}
package com.soft1841.week7;
public class FruitApp {
public static void main(String[] args) {
Fruit fruit = new Fruit();
fruit.fruitName = "蘋(píng)果";
System.out.println(fruit.fruitName);
fruit.setFruitPrice(8.8);
System.out.println(fruit.getFruitPrice());
fruit.origin = "山東煙臺(tái)";
System.out.println(fruit.origin);
}
}
2.類(lèi)之間的關(guān)系
-
縱向關(guān)系:比較清晰
- 繼承:父子關(guān)系——extends
- 實(shí)現(xiàn):類(lèi)對(duì)接口的實(shí)現(xiàn)——implements
-
橫向關(guān)系:取決于語(yǔ)義
- 依賴(lài)
- 雙方的地位往往是獨(dú)立平等的(地位)
- 是偶爾的桩盲、臨時(shí)性的忿薇、不頻繁的(依賴(lài)程度)
- 代碼層面的表現(xiàn)形式而言,往往是局部的變量
- 類(lèi)B以參數(shù)的形式傳入類(lèi)A的方法。
- 類(lèi)B以局部變量的形式存在于類(lèi)A的方法中。
- 類(lèi)A調(diào)用類(lèi)B的靜態(tài)方法。
- 員工和游輪
- 關(guān)聯(lián)
- 雙方的地位往往是獨(dú)立的、平等的(地位)
- 是長(zhǎng)期的、穩(wěn)定的拿穴、頻繁的(依賴(lài)程度)
- 代碼層面的表現(xiàn)形式而言,關(guān)聯(lián)往往以全局屬性的形式存在
- 員工和手機(jī)
- 聚合
- 雙方的地位不是平等的忧风,是整體和部分之間的關(guān)系(地位)
- 是長(zhǎng)期的默色、穩(wěn)定的、頻繁的狮腿,這種關(guān)系比關(guān)聯(lián)更強(qiáng)腿宰,以至于在形式上出現(xiàn)了整體和部分之間的關(guān)系。整體和部分都有自己的生命周期缘厢,一方的消失另外一方不會(huì)跟著消失吃度。(依賴(lài)程度)
- 代碼層面的表現(xiàn)形式而言可參考關(guān)聯(lián)
- 公司和員工
- 組合
- 雙方的地位不是平等的,是整體和部分之間的關(guān)系(地位)
- 比聚合更強(qiáng)贴硫,部分的生命周期取決于整體椿每,部分隨著整體的消失而消失(依賴(lài)程度)
- 代碼層面的表現(xiàn)形式而言可參考關(guān)聯(lián)
- 區(qū)分是聚合還是組合的核心點(diǎn)是在生命周期
- 公司和部門(mén)
- 依賴(lài)
參考文章:點(diǎn)這里