知识卡片
包的定义与完全限定名称
内容
包(package)是UML的通用分组构造,可把UML元素组织成更高层级单元,最常见用法是组织类,但不限于类。模型里每个类是单个包的成员,包又可嵌套成子包形成层级结构,对应Java的包、C++/.NET的命名空间。每个包是命名空间,同一包内类名须唯一;要指出重名类是哪一个,用完全限定名称——包名间用双冒号连接,如System::Date和Util::Date可以是两个不同的Date类。
参考来源
- 位置:《UML精粹:标准对象建模语言简明指南(第3版)》第7章《包图》(源文件:_epub-src/EPUB/6.xhtml)
- 结论依据:原文定义"包(package)是一种分组构造……每个包代表一个命名空间(namespace),命名空间意味着每一个类在拥有它的包里必须有唯一的名称",并说明可用"完全限定名称(fully qualified name)……使用双冒号来展示包名称"区分同名类。
- 原始内容:包(package)是一种分组构造,它允许你选择UML里的任何构造,把它的元素组织在一起,成为更高级别的单元……每个包代表一个命名空间(namespace)……如果我要创建一个称为Date的类,而在System包中已经存在一个Date类,我仍然可以有我的Date类……可以使用完全限定名称。