[空白_录音] [空白_录音]
嗨,同学你好,下面我们介绍一下程序的组织
方面的一些这个知识点,包括呢,一个是名字空间,它是程序的逻辑组织
还有一个嵌套类型,它是类中的嵌套类型,还有一个呢是程序集,是程序的物理组织 先看名字空间。
名字空间呢,或者叫名称空间,namespace
它的目的呢就是进行一种逻辑划分 主要的目的呢是避免名字冲突。
我们在定义一个类的时候呢 特别是 Visual Studio
生成这个项目的时候,自动就会加一个 namespace
什么什么,就把我们的类呢都放到那个 namespace 里头 这个 namespace
呢,它也可以用什么什么点什么什么点什么,一层一层的,就我们平时引用的,比如说 system.windows.forms.
什么什么,那名字空间的导入呢就是 using 什么什么 那这个呢,我们已经用过了
还有使用别名,就是如果一个类的名字或者名字空间,我想取一个更短的名字,在 这个文件里面,using
一个别名等于什么什么,这样用起来呢 更方便一点,特别是类名有重名的时候
那我们就,编译器如果只写一个类名,它就分不清楚了
所以我们就可以再取一个别名,这是名字空间
嵌套类型呢,它是在类型里面定义一个类型,比如说我们在这里 这个例子,class,class
A 这个里边呢又定义了 class B class B 里面呢又定义了一个
struct C,所以如果我们用的时候就可以用 A.B.C。
那么嵌套类型呢主要用于什么呢,比如说 我这样一个类型呢,基本上就是在它那里面相关联的,别的地方
就脱离这个类呢基本上不会用到了,所以这种情况我们就把它定义成一个 嵌套类型,类里面的类型。
那么嵌套类型的可访问性呢 它受制于各个层次的可访问性。
所以如果是这个类,前面 public,然后这里面又没有
public,等等 它会受制于这个各个层次。
这个也比较好理解 下面我们再说说关于程序的物理组织。
所谓物理组织就是 我把一个程序,它实实在在地编译生成了一个文件
那个文件呢,它是一个物理存在的一个文件,当然最常见的就是 exe,或者
dll exe 呢是一个可执行文件,dll 就是我们说的库文件,它里面呢没有
main 函数 那没有入口点,它一般都是供别人调用的。
无论是 exe 文件,可执行的 exe 文件,或者是 dll
动态链接库文件,它都属于程序集,都是独立的文件 如果我们在
Visual Studio 里头呢,使用这个程序集呢,一般的情况可以这样做
比如说我们把一些公用的一些类,一些方法,我们把它呢 编译,单独编译成一个
dll,那这个时候就可以建立一个 叫做库,这个项目呢就是一个类库
这样一个项目,建立这个不是我们平时的应用程序,这个项目里面就写很多类
而在别的项目里头,比如说我们有界面,这个项目,我要调用
刚才那个库,那我就添加引用,添加引用,引用呢它也可以
选项有一个程序集,还有呢解决方案里头有某个项目,所以
这样呢我们就可以在这个类,这一个项目里头,用别的程序集
包括你自己定义的项目,所以这样就很方便了。
这是程序集 如果我用命令行呢?你甚至可以呢把它
一个源文件编成一个叫模块,target 编译成一个模块,那多个模块呢我们可以生成一个
target:library,生成一个库 然后这个库呢我们也可以把它生成一个
exe,当然由于我们命令行呢用得比较少 所以大家了解一下就行了。
那最终的这个 dll 和这个 exe,它就是 程序集。
我们前面,大家还记得我们前面讲的可访问性一个
很重要的一个关键词,大家还记得吗?它是跟程序集有关的,它 既不是
public,也不是 private,也不是 protected,它是叫
internal 那就是内部的,什么内部呢,就是这个程序集
这里面的这些类可以访问,叫 internal