(四)UML

您所在的位置:网站首页 uml中的统一体现在很多方面 (四)UML

(四)UML

2024-07-11 14:17| 来源: 网络整理| 查看: 265

文章目录 前言接口、接口内的变量、接口内的方法接口接口中的变量接口的方法 UML 中的接口UML 之接口继承接口-泛化UML 之 类实现接口-实现UML 类引用接口

前言

如果你有看过之前的(三) UML-类关系,你会发现博主刻意的规避了接口,并不是接口的的内容太过于复杂,其实接口的UML 图形反倒没多少内容,本文将稍带介绍一些接口的特性

接口、接口内的变量、接口内的方法

接口就是你看到的 Interface 修饰的 Java 类型 一般我们只会在接口中定义变量和抽象方法,其实也可以声明类,定义的接口内部也可以声明内部类,不过本文只探讨接口、接口变量和接口的方法

接口 一个 Java 文件可以包含多个接口的定义,且接口相互不可重名接口(注意,不是接口方法)只可被 public、abstract 修饰或者不修饰,不可以被static、final、default、protected 修饰 (思考下为什么?)接口默认被 abstract 修饰一个 Java 文件至多可以有一个接口被 public 修饰,至少可以有0个接口被 public 修饰被public 修饰的接口必须与 所在 Java 文件同名被 public 修饰的接口可以被跨包访问,未被 public 修饰的接口只能在本包内被访问 public interface TestInterface1

或者

interface TestInterface2 接口中的变量 接口变量默认是 public final static 修饰的,所以接口的变量值需要初始化且无法修改子类可以拥有同名变量(如果以接口声明而子类创建对象则使用接口变量,如果使用子类声明且子类创建对象则使用子类变量) //接口定义 public interface TestInterface { String name="123"; } //子类定义 class TestAaa implements TestInterface{ String name="456"; } //测试方法 @Test public void test3(){ TestInterface t=new Testaaa(); Testaaa t2=new Testaaa(); System.out.println(t.name);//123 System.out.println(t2.name);//456 } 接口的方法

接口中的方法默认使用 public abstract 修饰 接口中的方法不允许使用 private、protected、default、final、static 修饰

UML 中的接口

终于进入到关键话题了,在之前的介绍中 (https://blog.csdn.net/bestcxx/article/details/80878362)有提到,抽象类和抽象方法在 UML 中需要使用斜体 ,静态方法和静态变量在 UML 中增加下滑线,本文也介绍到,接口中常量是静态的,接口中方法和接口本身是抽象的,但是在 UML 中接口、接口的方法并不是斜体,接口的常量也不用下滑线,所以情况简单很多。

UML 之接口继承接口-泛化

接口继承接口和类中关系一致,子接口-实线-三角形-父接口

interface FirstInterface{ String name="123"; int getNumber(int i); } interface SecondInterface extends FirstInterface{}

在这里插入图片描述

UML 之 类实现接口-实现

类实现接口是 类-虚线-三角形-接口

class ThirdClass implements SecondInterface{ @Override public int getNumber(int i) { // TODO Auto-generated method stub return 0; } }

在这里插入图片描述

UML 类引用接口

规则和类中引用一致,也要结合场景,这里只举一个范例

class FourthClass{ private FirstInterface firstInterface; }

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3