uml第2次作业

 

类之间的关系通过下面的符号定义

 

 (1)类之间的关系

@startuml
c1 <|-- c2
c3 *-- c4
c5 o-- c6
c7 .. c8
c9 -- c0
@enduml

(2)关系上的标签注释

@startuml
c1 "1" *-- "many" c2 : contains
c3 o-- c4 : aggregation
c5 --> "1" c6
@enduml


(3)声明方法和域

@startuml                                                         
Object <|-- ArrayList                          
Object : equals()
ArrayList : Object[] elementData
ArrayList : size()
@enduml

@startuml
class Dummy {
  String data
  void methods()
}
class Flight {
   flightNumber:Integer
   departureTime:Date
}
@enduml

(4)对于可访问性的定义

@startuml
class Dummy {
 -f1
 #f2
 ~m1()
 +m2()
}
@enduml

(5)对于抽象方法与静态方法的定义

@startuml
class Dummy {
  {static} String id
  {abstract} void methods()
}
@enduml

(6)长注释与模板的使用

@startuml
class Object << g >>
Object <|--- A
note top of Object : aaaaaaaaaaa\bbbbbbbbbb
note "ccccccccc" as N1
note "ddddddddddddddddddd" as N2
Object .. N2
N2 .. A
class Foo
note left: eeeeeeeeeeeee
@enduml

 

(7)关于抽象类与接口

@startuml
abstract class AbstractList
abstract AbstractCollection
interface List
interface Collection

List <|-- AbstractList
Collection <|-- AbstractCollection

Collection <|- List
AbstractCollection <|- AbstractList
AbstractList <|-- ArrayList

class ArrayList {
  Object[] elementData
  size()
}

enum TimeUnit {
  DAYS
  HOURS
  MINUTES
}

annotation SuppressWarnings
@enduml

(8)隐藏类

@startuml
class Foo1
class Foo2

Foo2 *-- Foo1

hide Foo2
@enduml

 

 (9)指定标记

@startuml
class System << (S,#666666) Singleton >>
class Date << (D,orchid) >>
@enduml

(10)包

@startuml
package "Classic Collections" #666666 {
  Object <|-- ArrayList
}

package net.sourceforge.plantuml {
  Object <|-- Demo1
  Demo1 *- Demo2
}
@enduml

 

 



 (11)关系类

@startuml
class Student {
  Name
}
Student "0..*" - "1..*" Course
(Student, Course) .. Enrollment

class Enrollment {
  drop()
  cancel()
}
@enduml

 

 

 


班级学生管理系统中的 —— “学生” 类

@startuml
class 课程 {
  -课程号:int
  -课程名:string
  -主课教师:string
  __
  +课程信息
  +选择课程
}
class 学生{
  -学号:int
  -姓名:string
  -班级:string
  -专业:string
  __
  +登陆
  +修改信息
  +退出
  +已选课程
  +课程信息
}
class 宿舍 {
  -宿舍号:int
  -楼号:int
  -所住人员:string
  __
  +登陆
  +修改信息
  +退出
}
class 成绩 {
  -课程号:int
  -课程名:string
  -考试成绩:int
  __
  +课程信息
  +查看成绩
}
课程 -right-> 学生
宿舍 -left-> 学生
学生 -down-> 成绩
@enduml

 

 

 

 


 

posted @ 2019-04-08 21:22  杨州  阅读(195)  评论(0编辑  收藏  举报