zoukankan      html  css  js  c++  java
  • UML类之间的关系

    UML类之间的关系

    名称

    说明

    UML

     

     

     

     

    关联关系

    是一种结构化关系,通常将一个类的对象作为另一个类的属性,如:老师和学生、丈夫和妻子。

    包括双向关联、单向关联、自关联和多重性关联。

    public class LoginForm{

      private JButton loginButton;

    }

    public class JButton{

    }

    聚合关系

    表示一个整体与部分的关系,是关联关系的一种。成员对象是整体对象的一部分,但是成员对象可以独立存在。例如:计算机与鼠标。

    通过一个空心菱形加箭头表示。

    public class PersonGroup {  

        public Person person;  

        public PersonGroup(Person person) {   

            this.person = person;  

        }  

    }  

    public class Person {  

        public Person() {  

          }  

    }  

    组合关系

    表示类之间整体和部分的关系,是关联关系的一种成员类的存在依赖于整体类。例如:人的头和嘴巴。

    通过一个实心的菱形加箭头表示。

    public class Head{

        private Mouth mouth;  

    public Head()

    {

       mouth = new Mouth();

    }

    }

    public class Mouth{

    }

    依赖关系

    是一种使用关系,即表示一个事物使用另一个事物。体现为某个类的方法使用另一类的对象作为参数。例如:驾驶员开车。

    通过带箭头的虚线表示,由依赖的一方指向被依赖的一方。

    public class Driver{

    public void drive(Car car){

      Car.move();

    }

    }

    public class Car{

    Public void move(){

    }

    }

    泛化关系

    即继承关系。用于描述父类与子类之间的关系。例如:植物和树。

    通过带空心三角形的直线来表示。


     public class Person{

    protected String name;

    Protected int age;

    public void move(){

    }

    Public void say(){

    }

    }

    Public class Student extends Person{

    private String studentNo;

    public void study(){

    }

    }

    Public class Teacher extends Person{

    private String teacherNo;

    public void teach(){

    }

    }

    实现关系

    是一种类与接口的关系,表示类实现了接口,类中的操作实现了接口中所声明的操作。

    通过带空心三角形的虚线来表示。

     public interface Vehicle{

    public void move();

    }

    Public class Ship implements Vehicle{

    public void move(){

    }

    }

    Public class Car implements Vehicle{

    public void move(){

    }

    }

  • 相关阅读:
    CodeForces 454C——数学——Little Pony and Expected Maximum
    7.23多校——5305DFS——Friends
    Codeforces Round #313 (Div. 2)——C数学题——Gerald's Hexagon
    Codeforces Round #313 (Div. 2)——D递归,stirng——Equivalent Strings
    Codeforces Round #312 (Div. 2)——C暴力技巧——Amr and Chemistry
    简单几何(线段覆盖) POJ 3347 Kadj Squares
    DP+BIT(优化复杂度) UESTC 1217 The Battle of Chibi
    DP(01背包) UESTC 1218 Pick The Sticks (15CCPC C)
    二叉树的前中后序遍历以及表达式树
    DP(优化) UVALive 6073 Math Magic
  • 原文地址:https://www.cnblogs.com/znjy/p/15342415.html
Copyright © 2011-2022 走看看