UML系列——包图Package
转自:http://www.cnblogs.com/wolf-sun/p/3411175.html
系列文章
[UML]UML系列——用例图Use Case
[UML]UML系列——用例图中的各种关系(include、extend)
[UML]UML系列——类图Class
[UML]UML系列——类图class的关联关系(聚合、组合)
[UML]UML系列——类图class的依赖关系
[UML]UML系列——类图class的泛化关系
[UML]UML系列——类图class的实现关系Realization
引言
在windows中文件夹有什么作用?
1、 对文件进行分类管理
2、避免了命名冲突
包的作用
一个程序往往包含了很多类,那么如何管理这些类就成了一个需要解决的问题(分组机制)。
这些类可能由不同的程序员进行建立,当把这些类合并成一个大系统时,往往会产生命名冲突(类名冲突)。
包的两个作用:分组机制,命名空间。
java:包(package)
c#:命名空间(namespace)
c#中定义命名空间:
namespace 命名空间名{......}
c#中引入命名空间:
using 命名空间名;
命名空间的嵌套
程序中的命名空间就如同文件和文件夹。文件夹包含许多文件和其他文件夹,同样,命名空间也可以包含其他命名空间。
View Code
程序演示:命名空间(code/space)
View Code
View Code
1 using System;2 using System.Collections.Generic;3 using System.Text;4 using space1;5 using space2;6 namespace space3 //第三个命名空间7 {8 class Program9 { 10 static void Main(string[] args) 11 { 12 13 DownCount dc = new DownCount(10); //倒数计数器对象 14 UpCount uc = new UpCount(10); //正数计数器对象 15 } 16 } 17 }
如果去掉using space1; using space2;
这两行应这样写:
space1.DownCount dc = new space1.DownCount(10);
space2.UpCount uc = new space2.UpCount(10);
包的符号
包的内容组织
提示:一个元素只能属于一个包
包内元素的可见性
public(+): 可在其他任何包中使用
private(-): 只能在该包中使用
protected(#): 可以在该包和该包的子包中使用
包的导入
当包A将包B导入时,包A中的元素可以直接访问包B中的元素,而不必在每次使用时用完整的路径名。
导入包时应注意的几个问题
1 namespace N12 {3 class class A4 namespace N25 {6 class classB{…… }7 class classC{…… }8 }9 namespace N3 10 { 11 class classB{…… } 12 class classD{…… } 13 } 14 }
未导入时,应使用完全限定名:
N1.N3.classD d=new N1.N3.classD();
问题1:using语句只能导入命名空间中的类型成员,不能导入命名空间中的嵌套命名空间。
1 using N1 2 namespace N4 3 { 4 //只能使用classA 5 }
问题2:在相同的命名空间中不能存在名称相同的类或命名空间;如果类或命名空间位于不同的命名空间中,它们可以具有相同的名字。
1 namespace N12 {3 class class A4 namespace N25 {6 class classB{…… }7 class classC{…… }8 }9 namespace N3 10 { 11 class classB{…… } 12 class classD{…… } 13 } 14 }
问题3:一个命名空间可在多个源代码文件中多次声明,但是,只要它们的完全限定名相同,就认定是同一个命名空间。
1 namespace N12 {3 class class A4 namespace N25 {6 class classB{…… }7 class classC{…… }8 }9 } 10 11 namespace N1 12 { 13 namespace N3 14 { 15 class classB{…… } 16 class classD{…… } 17 } 18 }
问题4:如果使用using语句导入的多个命名空间中包含了同名的类,则不能直接通过类型名来使用这些类,所以要使用类型的完全限定名
1 using N1.N2; //引入N1 2 using N1.N3; //引入N2 3 namespace N3 4 { 5 class N1.N2 .ClassB…… 6 class N1.N3 .ClassB…… 7 }
包图的Rose建模
1、新建包
2、向包中添加类
方法1:在"浏览器"中将已经存在的类拖到包中
方法2:在"浏览器"中新建类 方法:右击包名->new->class
3、设置类在包中的可见性
方法:在浏览器中双击类,弹出下窗,在Export Control里面选择:
4、将包拖到绘图区
5、 显示包中的元素
UML系列——包图Package相关推荐
- [UML]UML系列——包图Package
系列文章 [UML]UML系列--用例图Use Case [UML]UML系列--用例图中的各种关系(include.extend) [UML]UML系列--类图Class ...
- [UML]UML系列——状态机图statechart diagram
[UML]UML系列--状态机图statechart diagram 原文:[UML]UML系列--状态机图statechart diagram 系列文章 [UML]UML系列--用例图Use Cas ...
- [UML]UML系列——时序图(顺序图)sequence diagram
原文:[UML]UML系列--时序图(顺序图)sequence diagram 系列文章 [UML]UML系列--用例图Use Case [UML]UML系列--用例图中的各种关系(include.e ...
- UML系列——时序图(顺序图)sequence diagram
点击查看博主技术栈 转自:http://www.cnblogs.com/wolf-sun/p/3411175.html 系列文章 [UML]UML系列--用例图Use Case [UML]UML系列- ...
- [UML]UML系列——类图class的关联关系(聚合、组合)
关联的概念 关联用来表示两个或多个类的对象之间的结构关系,它在代码中表现为一个类以属性的形式包含对另一个类的一个或多个对象的应用. 程序演示:关联关系(code/assocation) 假设:一个公司 ...
- UML总结—包图(Package Diagram)
一.什么是包 在面向对象的软件开发过程中,类显然是构建整个系统的基本构造块.但是对于庞大的应用系统而言,包含的类是成百上千的,再加上其间"阡陌纵横"的关联关系,多重性等,必然大大超 ...
- UML系列——时序图(顺序图)
引言 用例图.类图.活动图.时序图之间是什么关系? 时序图有什么作用? 先来模拟一下三国演义的赤壁之战的时序图,先知道它到底长什么样子,再深入介绍: 小伙伴惊呆了,这样画战略图,一目了然,原来著名的战 ...
- 动物class类图 php,UML系列——类图class
1.类图的概念及组成 类图是描述类.接口已经他们之间关系的图,它显示了系统中各个类的静态结构,是一种静态模型. 2.种类元素(类和接口) 4种关系(依赖关系.实现关系.泛化关系和关联关系). 3.类的 ...
- UML系列——协作图(通信图)collaboration diagram
转自:http://www.cnblogs.com/wolf-sun/p/3411175.html 系列文章 [UML]UML系列--用例图Use Case [UML]UML系列--用例图中的各种关系 ...
- 系统架构-UML 包图
经过了一个上午的讨论,对于UML的包图(系统架构图)又有了更深一层的理解. 第一个图: 简单解释:UI:界面层,BLL:业务逻辑层:DAL:数据处理层.FUN:封装了常用业务逻辑. 此图不合理原因: ...
最新文章
- 寄存器理解 及 X86汇编入门
- Rundeck crontab格式
- 关于MySQL的各种总结
- 加拿大大学计算机排名2015,加拿大大学计算机排名
- mac 下开发golang 配置
- python小白从哪来开始-python入门小白的困惑,怎么入门python?
- python编程100例-【python】编程语言入门经典100例--30
- 禁止执行某些讨厌的程序,如tadb.exe
- 博客linux系统下载器,linux的下载工具
- 【C++】内建函数对象
- 一张图助你了解传统项目管理与敏捷项目管理的区别!
- IISPUT上传漏洞
- 关于DiskGenius 克隆分区和系统迁移问题,以及如何解决缺少系统引导、双硬盘双系统引导问题,多个启动项
- ORB-SLAM2代码阅读笔记(十):sim3求解
- 为什么中国神仙比较负责任?
- Springboot+基于知识图谱的短视频推荐系统设计与实现 毕业设计-附源码231115
- TCP/IP 工作模型
- Canvas绘制箭头
- C++实现骰子涂色算法
- 机器学习常用算法归详细纳整理
热门文章
- python+nodejs+vue自驾游旅游网站系统
- 热核特征(heat kernel signature,HKS)简单解释(附可运行代码)
- web咸鱼自救攻略--typescript的类没有你想象中的那么难
- mysql修改校对集_关于MySQL字符集和校对集问题
- matlab中正弦信号的功率计算,范数norm
- 选课通知 | 北交大《数据分析方法及应用实战》秋季全校选修课简介!
- 解决了Office2007向程序发送命令时出现错误 的问题
- 【论文阅读·2】”Why Should I Trust You?” Explaining the predictions of Any Classifier
- 波士顿房价预测实验报告
- 2022N1叉车司机题库及在线模拟考试