赞
踩
类图(Class Diagram)是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。
类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。
类图不仅用于可视化描述和记录系统的不同方面,也为构建可执行代码的软件应用程序。
类图描述一类的属性和操作,也对系统的约束。被广泛应用于类图的建模的面向对象的系统中,因为它们是唯一的,可以直接映射到面向对象的语言的 UML 图。
类图显示集合的类,接口,关联,协作和约束,它也被称为作为结构图。
- public class ClassDiagramDemo {
- public int id;
- protected String name;
- int age;
- private String password;
-
-
- public void setId(int id) {
- this.id = id;
- }
-
- protected void setName(String name) {
- this.name = name;
- }
-
- void setAge(int age) {
- this.age = age;
- }
-
- private void setPassword(String password) {
- this.password = password;
- }
- }
实际类图中"可见性"表示该属性对于类外的元素而言是否可见,包括公有(public)、私有(private),友好的(friendly,代表package)和受保护(protected)三种,在类图中分别用符号+、-,~和#表示。
定义:只要在类中用到了对方,那么他们之间就存在依赖关系。如果没有对方,连编译都通过不了。
- public class PersonServiceBean {
- private PersonDao personDao;
- public void Save(Person person){}
- public IDCard getIDCard(int personid){return null;}
- public void modify(){
- Department department = new Department();
- }
- }
- class IDCard {
- }
- class Person {
- }
- class PersonDao {
- }
- class Department {
- }
小结:
定义:泛化关系实际上就是继承关系,它是依赖关系的一种特例。
- public class A {
- }
- public class B extends A {
- }
小结:
定义:实现关系实际上就是A类实现B类,它是依赖关系的特例。
- public interface Service {
- }
- public class ServiceImpl implements Service {
- }
小结: 如果B实现了A,则A和B之间存在实现关系
定义:关联关系实际上就是类与类之间的联系,它是依赖关系的特例。存在单向关联,双向关联和自关联。
定义:类A与类B是单向关联关系,是指类A包含类B对象的引用,但是类B并不包含类A对象的引用。
- public class Customer {
- private Address address;
- }
- public class Address {
- }
小结:顾客(Customer)拥有地址(Address),Customer类的属性中有Address类的对象,则Customer类与Address类具有单向关联关系。 2. 双向关联
定义:类A与类B如果包含对方的引用,则称类A与类B是双向关联的关系。
- public class Student {
- private Teacher teacher;
- }
- public class Teacher {
- private Student student;
- }
小结:老师(Teacher)教育的学生(Student),反之,接受教育的学生总有某个老师与之相关联。因此,Teacher类和Student类之间具有双向关联关系。
定义:自己包含自己。
- public class StudentNode {
- private StudentNode next;
-
- public void setNext(StudentNode next) {
- this.next = next;
- }
- }
定义:聚合关系表示的是整体和部分的关系,整体和部分可以分开。
- public class Car {
- private Wheel wheel;
-
- public void setWheel(Wheel wheel) {
- this.wheel = wheel;
- }
- }
- public class Wheel {
- }
定义:组合关系表示的是整体和部分的关系,整体和部分不可分开。
- public class Face {
- private Nose nose;
-
- public Face(Nose nose) {
- this.nose = nose;
- }
- }
- public class Nose {
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。