Java类的继承学生研究生类图_UML part3 类图、对象图
UML?part3?類圖、對象圖
四種關系
1.?依賴關系
①定義:依賴描述了兩個模型元素之間的關系,如果被依賴的模型元素發生變化就會影響到另一個模型元素
②舉例:動物有生命和水進行繁殖,動物和水,動物和氧氣都是依賴關系;人需要用船過河,人和船就是依賴關系
...
中間省略了降低依賴的方法,依賴倒置,依賴注入和控制反轉
詳情可參考JavaEE
...
2.?關聯關系
①定義:是一種結構關系,用于指明一個事物的對象和另一個事物的對象間的聯系
②關聯可以是單向的(帶箭頭),也可以是雙向的(不帶箭頭)
③依賴與關聯的區別
a.?依賴是一種弱關聯
b.?依賴是一種偶然的關系,而不是必然的關系
c.?關聯是類的對象之間的一種關系
d. 通俗的理解,就是一個是使用,一個是必須需要。依賴就是可以使用,例如人可以使用船過河,但人也可以用其他工具過河;關聯就是必須需要,例如老師教學生,水壺裝水
④特殊的關聯:聚合和組合
a.?聚合關系
表示類之間整體與部分的關系,較大的事物由較小的事物組成
例如:教室和課桌,教室和椅子,鍵盤和計算機,鼠標和計算機
每個部分不一定屬于一個整體
b.?組合關系
組合是更強形式的聚合關系
整體與部分的生命周期完全一致,每個部分只能屬于一個整體
例如:人類和大腦,人類和心臟
聚合關系和組合關系示例
3.?泛化關系
①泛化即繼承
②定義:表示一般事物(父類)和該事物的特殊種類(子類)之間的關系
③例如:學生和本科生,學生和研究生,動物和狗子
4. 實現關系
①定義:說明規格的接口和實現其功能的類的關系
②和java中的接口與類的關系相同
③不繼承結構,只繼承行為
④常見的兩種表現形式
正向工程和反向工程
1. 正向工程:從UML圖形生成java代碼
2. 反向工程:從java代碼生成UML圖形
3.?正向工程和反向工程都是一種輔助手段
類圖
1.?類的組成
①名稱:符合命名范圍
②屬性:就是狀態信息,例如姓名,年齡,有無翅膀等
③行為:就是能做什么,例如吃,跑,遷徙
④屬性的可訪問性:
公有(pubic):+
私有(private):-
保護(protected):#
實現(implementation):~
2.類圖的版型(在順序圖中會用得到)
①版型(類型或構造型):用于標明或擴展現有UML元模型的含義,幾乎每個UML元模型都有很多版型
②MVC框架的版型表示:
類圖的版型畫法以及對應的舉例(*三個版型必須記住)
③邊界類
a. 位于系統與外界的交界處,例如窗體、對話框、報表、與外部設備或系統交互的;類等等
b.?邊界類可以通過用例確定,因為活動者必須通過邊界類參與用例
邊界類畫法(主要畫最左邊的)
④實體類:保存永久信息,最終可能映射數據庫中的表和字段
實體類畫法(主要畫最左邊的)
⑤控制類:協調其他類工作和控制總體邏輯流程,一般每個用例有一個控制類。控制類會向其他類發送消息
控制類畫法(主要畫最左邊的)
3.?類圖的抽象層級
①概念類
a.?描述相關領域的概念
b.?僅包括類名,不含細節
概念類示例(主要畫最左邊的)
②分析類
a.?包含類的部分屬性和行為
b.?不針對具體編程語言
分析類示例
③設計類
a.?針對具體編程語言
b.?考慮實現細節
設計類示例
4.?類圖的使用
①類圖是UML中最重要的圖形,能用于各種場合
②對概念模型,分析領域模型(概念,屬性,關聯)
③保持類圖的簡單,不要試圖描述所有細節
【考試畫圖類型題】
要點:
1.認真讀題,過濾出題目中的類
2.找出題中每個類具有的屬性和行為
3.分析每個類之間的關系
例題1.教室內排放著若干個課桌和椅子,每個課桌旁最多擺放4把椅子,每把椅子上坐著一名學生,根據上述描述,畫出相應的UML圖。
分析:藍色標的是類,這道題沒有涉及屬性和行為,只要把類和類的關系找好就行,涉及到數量要寫在關系的線上,以教室和課桌舉例,“教室內有若干個課桌”,教師對于課桌來說是1個,所以教室端是1,課桌對于教室來說是若干個,所以課桌端的數字是n;以課桌和椅子為例,“每個課桌旁最多擺放4把椅子”,說明課桌旁可以擺放的椅子數量是0到4個,所以椅子對于課桌的數量是0..4,椅子端的數字是0..4,因為“每個課桌”,所以課桌對于椅子的數量是1,所以課桌端的數字是1。因為課桌,學生和椅子都是教室中的,這三者與教室的關系是聚集關系,其他是關聯關系,得出答案如下
例題2.某學校下屬若干院系,并能招收若干學生;每個院系下屬若干老師,其中有一人為負責人;每名老師講授課程的數量不能超過3門;每個學生至少選修一門課程,最多能選10門課程;每門課程最多能夠容納80人,若少于30人即被取消。根據上述描述,畫出相應的UML圖。
分析:藍色標的是類,這道題沒有涉及屬性和行為,只要把類和類的關系找好就行,涉及到數量要寫在關系的線上。因為院系和學校屬于一個生命周期,所以學校和院系是組合關系;根據院系中有老師和學校中有學生,可以推出學校和學生是聚集關系,老師和院系是聚集關系
例題3.學生包括本科生,研究生兩種,研究生中的一部分利用課余時間擔任助教;教師包括講師和教授兩種;一名助教可以為一位講師或一位教授助課,一位講師只能有一名助教,一位教授可以有5名助教。根據上述描述,畫出相應的UML圖。
分析:藍色標的是類,這道題沒有涉及屬性和行為,只要把類和類的關系找好就行,涉及到數量要寫在關系的線上。這題主要考泛化關系,也就是繼承關系。
例題4.根據以下描述,畫出相應的UML圖。神州六號飛船是神舟飛船系列的一種,它由軌道艙、返回艙、推進艙和逃逸救生塔組成,航天員可以在返回艙內駕駛飛船,在軌道艙工作和休息,在緊急情況下,可以利用逃逸救生塔逃生。在飛船兩側有多個太陽能電池翼,可以給飛船提供電能。根據上述描述,畫出相應的UML圖。
分析:藍色標的是類,粉色標的屬性和行為,這個題中不涉及屬性,全部都是行為。駕駛飛船是返回艙的行為,工作和休息是軌道艙的行為,逃生是逃逸救生塔的行為,所有行為和屬性在題中沒有規定的情況下都設為public屬性,所以前面寫一個加號;前面說過依賴關系是人通過船過河,所以人和船是依賴關系,同理航天員通過軌道艙工作和休息,通過返回艙駕駛飛船,通過逃逸救生塔逃生,所以航天員和軌道艙、返回艙、逃逸救生塔都是依賴關系;神舟六號飛船由軌道艙、返回艙、推進艙、逃逸救生塔組成,所以神舟六號飛船和他們都是聚集關系;因為神州六號飛船是神舟飛船的一種,所以神州飛船是神舟六號飛船的父類,所以它們是繼承關系,也就是泛化關系,由此得出答案
例題5.根據以下描述畫出類圖。動物有生命特征,需要氧氣和水進行繁殖和新陳代謝。鳥是動物的一種,鳥擁有翅膀。其中大雁,企鵝和鴨都是鳥的一種。大雁會飛翔,企鵝要根據氣候變化進行遷徙,唐老鴨是最著名的一只鴨子,會講人話。
分析:藍色標的是類,粉色標的屬性和行為,“動物有生命特征”,生命特征是動物的屬性;“需要水和氧氣進行繁殖和新陳代謝”,所以新陳代謝和繁殖都是動物的行為,水和動物,氧氣和動物都是依賴關系;“鳥是動物的一種”,所以鳥和動物是繼承關系,也就是泛化關系;“鳥擁有翅膀”,所以有翅膀是鳥的屬性,同時翅膀和鳥與人和心臟屬于同理,所以翅膀這個類和鳥這個類屬于組合關系;“大雁、企鵝,鴨都是鳥的一種,所以大雁、企鵝和鴨與鳥都是繼承關系,也就是泛化關系;飛翔是大雁的行為,遷徙是企鵝的行為;“唐老鴨是最著名的一只鴨子,會講人話”,所以唐老鴨和鴨是繼承關系,也就是泛化關系,講人話是唐老鴨的行為
對象圖(正常情況下不會單獨出題,會用在順序圖和協作圖中)
1.?對象的三種表現形式
①對象名:類名
對象名在前,類名在后,用冒號來連接。對象名和類名都加下劃線
②:類名(*這種形式在順序圖和協作圖中常見)
這是對匿名對象的表示方法,用于尚未給對象取名字的情況,冒號不能省略
③對象名
省略掉類名,只有對象名,對象名必須加下劃線
2.對象圖和類圖的區別
總結
以上是生活随笔為你收集整理的Java类的继承学生研究生类图_UML part3 类图、对象图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学生3D作品---李自立---台式电脑加
- 下一篇: 远程控制与Nvidia显卡驱动和CUDA