1、簡介 數據庫
類是對象的集合,展現了對象的結構以及與系統的交互行爲。類主要有屬性(Attribute)和方法(Method)構成,屬性表明對象的狀態,若是屬性被保存到數據庫,此稱之爲「持久化」;方法表明對象的操做行爲,類具備繼承關係,能夠繼承於父類,也能夠與其餘的Class進行交互。 ide
類圖展現了系統的邏輯結構,類和接口的關係。 spa
二、類的構成 orm
類主要有屬性和方法構成。好比商品屬性有:名稱、價格、高度、寬度等;商品的方法有:計算稅率,得到商品的評價等等。以下圖 對象
關聯(Association) 繼承
兩個相對獨立的對象,當一個對象的實例與另一個對象的特定實例存在固定關係時,這兩個對象之間就存在關聯關係。 接口
A1->A2: 表示A1認識A2,A1知道A2的存在,A1能夠調用A2中的方法和屬性 ip
場景:訂單和商品,訂單中包括商品,可是商品並不瞭解訂單的存在。 ci
類與類之間的單向關聯圖: string
C#代碼:
Public class Order
{
Public List<Product> order;
Public void AddOrder(Product product )
{
order.Add(product);
}
}
Public Class Product
{
}
代碼表現爲:Order(A1)中有Product(A2)的變量或者引用
B1-B2: 表示B1認識B2,B1知道B2的存在,B1能夠調用B2中的方法和屬性;一樣B2也知道B1的存在,B2也能夠調用B1的方法和屬性。
場景:訂單和客戶,訂單屬於客戶,客戶擁有一些特定的訂單
類與類之間的雙向關聯圖
C#代碼
Public class User
{
Public List<Order> GetOrder()
{
} return new List<Order>();
}
Public Class Order
{
Public User GetUserByOrderID(string OrderId )
{
Return new User();
}
}
同一個類對象之間的關聯
類與類之間自身關聯圖
多個對象之間存在關聯
場景:公司僱用員工,同時公司須要支付工資給員工
類與類之間的多維關聯圖:
類與類的繼承關係,類與接口的實現關係。
場景:父與子、動物與人、植物與樹、系統使用者與B2C會員和B2E會員的關係
類與類之間的泛化圖:
系統的使用者包括:B2C會員、B2B會員和B2E會員。
接口的實現,動物都有吃的行爲,而人是動物的一個具體實例,實現具體Eat的動做
類A要完成某個功能必須引用類B,則A與B存在依賴關係,依賴關係是弱的關聯關係。C#不建議雙相依賴,也就是相互引用
場景:原本人與電腦沒有關係的,但因爲偶然的機會,人須要用電腦寫程序,這時候人就依賴於電腦。
類與類的依賴關係圖
在程序中通常爲 using 引用。
當對象A被加入到對象B中,成爲對象B的組成部分時,對象B和對象A之間爲聚合關係。聚合是關聯關係的一種,是較強的關聯關係,強調的是總體與部分之間的關係。
場景:商品和他的規格、樣式就是聚合關係。
類與類的聚合關係圖
對象A包含對象B,對象B離開對象A沒有實際意義。是一種更強的關聯關係。人包含手,手離開人的軀體就失去了它應有的做用。
場景: Window窗體由滑動條slider、頭部Header 和工做區Panel組合而成。
類與類的組合關係圖