UML详解

  UML其实很长时间都不知这是什么,只是看别人画过,能看懂,但是一直不知道什么是用的,这里对它进行详细介绍。UML(Unified Modeling Lanuage)统一建模语言,这里对类和层次关系、接口与实现、存取控制、顺序图。
(1)UML的类图(class diagram )是一种可表示一组类,对象实例与接口之间静态关系的图。虽然是类图,但是使用的不止是类。
先建立类:

public abstract class ParentClass{
    int field1;
    static char field2;
    abstract void methodA();
    double   void methodB(){};
}
 public class ChildClass extends ParentClass{
      void methodA(){};
      static void methodC(){};

 }

         这里写图片描述
说明:类均以方框表示,方框再以框线分为几个部分,分别是类名、字段名称、方法名称
abstract:斜体表示类名或者方法名
static:下划线加字段名或者方法名
关于箭头方向:子类指向父类,由于父类不知道谁是它的子类,但是子类一定知道谁是其父类,所以由子类指向父类。
(2)接口与实现
创建类:

 public interface Printable{    
    static void print();
    static  void newPage();
}
 public class Print implements Printable{
      void print(){};
      void newPage(){};

 }

         类和实现关系UML图
         这里写图片描述
(3)存取控制
创建类:

public class Something {
    private int privateField;
    protected int protectedField;
    public int publicField;
    private void privateMethod() {}
    protected void protectedMethod() {}
    public void publicMethod() {}

}

         存取与控制UML图
         这里写图片描述
符号表示:-代表是priavte,#代表protected,+代表public,其实前面的符号就是代表权限问题。
(4)顺序图
创建类:

public class Client {
    Server server=new Server();
    void work() {
        server.open();
        server.print("hello");
        server.close();
    }

}
public class Server {
    Device device=new Device();
    public void close() {}
    public void print(String s) {
         device.write(s);   
    } 
    public void open() {}

}
public class Device {

    public void write(String s) {   }

}

               存取与控制UML图
     这里写图片描述
  类名写在冒号(:)后面,而且还加上下划线,表示对象的实例,所有对象实例都有一条往下延伸的虚线,成为lifetime(生命线),在此可以看成时间由上向下,上面是过去,下面是未来,只有对象被实例时,才会有生命线。生命线中间一个长方形的框,表示该对象处于运行时期。线段为实线(———>)表示调用该方法,虚线代表方法返回。
顺序图读取顺序:从上往下读取,我们首先看到调用了work方法,执行client的open方法,接着向下看,看到了client调用了print方法,又因为是server的方法,所以就进入了server内部,server的print方法中又调用了device的write方法,所以进入了device执行write方法,执行完成后,返回方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值