Class Diagrams(类图)
Class diagrams identify the class structure of a system, including the properties and methods of each class. Also depicted are the various relationships that can exist between classes, such as an inheritance relationship. The Class diagram is one of the most widely used diagrams from the UML specification. Part of the popularity of Class diagrams stems from the fact that many CASE tools, such as Rational XDE, will auto-generate code in a variety of languages, including Java, C++, and C#, from these models. These tools can synchronize models and code, reducing your workload, and can also generate Class diagrams from object-oriented code, for those "code-then-design" maintenance projects.
类图能描述一个系统的类结构 , 包括每个类属性和方法 ( 成员函数 ). 当然 , 他也描述了各个类之间可能存在的各种关系 , 比如继承关系 . 类图是 UML 规格中使用最多的一种图 .UML 类图之所以能如此广泛使用是源于很多 CASE( 计算机辅助软件设计 ) 工具 , 比如 Rational XDE 能根据类图自动身成各种代码,包括Java, C++, 以及C#.这些工具能在模型和代码之间实现同步(synchronize),减轻你的工作压力,还能为那些”code-then-design”维护的工程,从面向对象的代码生成类图.
Notation(标记)
The elements on a Class diagram are classes and the relationships between them
类图中的一些元素是类以及他们之间的一些关系.
Class 类 | Classes are the building blocks in object-oriented programming. A Class is depicted using a rectangle divided into three sections. The top section is the name of the Class. The middle section defines the properties of the Class. The bottom section lists the methods of the class.
|
|
Association 联合 | An Association is a generic relationship between two classes, and is modeled by a line connecting the two classes. This line can be qualified with the type of relationship, and can also feature multiplicity rules (eg. one-to-one, one-to-many, many-to-many) for the relationship.
|
|
Composition 组成 | If a class cannot exist by itself, and instead must be a member of another class, then that class has a Composition relationship with the containing class. A Composition relationship is indicated by a line with a filled diamond.
|
|
Dependency 依赖 | When a class uses another class, perhaps as a member variable or a parameter, and so "depends" on that class, a Dependency relationship is formed. A Dependency relationship is indicated by a dotted arrow.
|
|
Aggregation 聚合,聚集 | Aggregations indicate a whole-part relationship, and are known as "has-a" relationships. An Aggregation relationship is indicated by a line with a hollow diamond.
|
|
Generalization 泛化 | A Generalization relationship is the equivalent of an inheritance relationship in object-oriented terms (an "is-a" relationship). A Generalization relationship is indicated by an arrow with a hollow arrowhead pointing to the base, or "parent", class.
|
|
Consider the example of a veterinary system. Animals served, such as dogs and birds, are tracked along with their owners. The following diagram models a potential solution. Since dogs and birds are "a kind of" animal, we use a Generalization relationship.
现在考虑一下一个兽医站的例子. 小动物受到照顾, 比如狗狗小鸟, 他们都和他们的主人一道来的.以下的这个图模型是一个可行的方案.
应为狗狗和鸟都是”一种”动物(不过狗会咬人~~~````还有狂犬病),我们用了一个泛化的关系,也就是一个继承的关系.
如有翻译不当之处,望各位高手不啬指出,本来先谢过大家了