在软件开发过程中,UML 类图是一种非常重要的工具。它通过图形化的方式展示了软件系统中类与类之间的关系。在每一个类的左上角有一个加号和一个减号,这两个符号代表了该类的可见度。本篇文章将从多个角度分析类图里面的加减号的含义。
一、类的可见度
在面向对象的编程中,类有不同的“可见度”设置。可见度表示类的访问权限,指谁可以访问这个类以及它的属性和方法。类的可见度分为四种:public、protected、private、package。public 表示该类可以被任何类访问;protected 表示该类只可以被子类或同一个包中的类访问;private 表示该类只可以被这个类中访问;package 表示类只可以被同一个包中的类访问。同时,类的可见度还可以用关键字来表示,如 public、protected、private。
二、类图中的加号
在UML类图中,一个类的左上角会有一个小“+”号,这表示该类的属性和方法是公开的。公开的意思是任何其他类都可以访问该类的属性和方法。
三、类图中的减号
再看另一侧,一个类的左上角还有一个小“-”号。这个减号表示该类中的部分或者全部属性或者方法对于外界是不可见的。当属性或者方法被标注为 private 的时候,它就不对外暴露,不能被外部访问。
四、类的使用
类的使用还有一些其他的方式。在类的左上角,可以看到一个小“#”符号,这表示该类中的方法和属性对其子类和在同一个包中的类可见。而一个类如果没加任何符号,则代表该类只对其同一个包的类可见。
五、使用场景
在设计软件中,一个属性或方法提供外部类访问的方式可能存在以下两种情况:
1.必须被访问:可以通过在属性或方法前添加界面元素“+”来表示,以表明该属性或方法对于外部类是必须可见的,比如该类的 get 和 set 方法;
2.可选访问:如果“+”没有被添加,那么这个属性或方法就默认为在本类和同包其他类中可见,在其他外部类中不可见。
六、总结
类图中的加减号代表了类的可见度。通过可见度设置,可以控制类的访问权限,保护类的属性和方法,从而避免出现不同类之间的冲突。通过上述分析,我们知道类图中的“+”表示公开可见,而“-”表示不公开可见,而“#”则表示在该类和其子类、同包其他类中可见。理解这些符号的意义,可以更好地设计类的访问属性,从而更好地开发工作。
扫码咨询 领取资料