zoukankan      html  css  js  c++  java
  • 命名空间与类库

          在使用面向对象技术开发的现代软件系统中,经常拥有数百甚至上千个类,为了方便地

    管理这些类,面向对象技术引入了命名空间(namespace)的概念。

    3.1命名空间

         命名空间可以看成是类的容器,它可以包含多个类,例如,以下代码创建了一个命

    名空间 MyDLL,在其中放置了两个类——MyPublicClass和  MyInnerClass:

    namespace  MyDLL

    {

    public class  MyPublicClass

    {

    }

    class  MyInnerClass

    {

    }

    }

         如果要使用命名空间中的类,需要指明其命名空间。例如:

    MyDLL.MyPublicClass obj=new MyDLL.MyPublicClass(); 

         如果希望少写一点代码,可以在源代码文件开头使用 using语句引用  MyDLL命名空间:

    using  MyDLL;

         在源代码文件中引用了特定的命名空间之后,就可以直接使用其中的类而不再需要指明

    其所属的命名空间。

         下面对命名空间这一概念做更进一步的讨论。

         .NET  Framework使用命名空间来管理所有的类。如果把类比喻成书的话,则命名空间

    类似于放书的书架,书放在书架上,类放在命名空间里。

         当我们去图书馆查找一本书时,需要指定这本书的编号,编号往往规定了书放在哪个书

    库的哪个书架上,通过逐渐缩小的范围:图书馆Æ书库Æ书架,最终可以在某个书架中找到

    这本书。

         类似地,可以采用图书馆保存图书类似的方法来管理类,通过逐渐缩小的范围:最大的

    命名空间Æ子命名空间Æ孙命名空间Æ……,最终找到一个类。

         所以,命名空间是可以嵌套的,请看以下示例代码:

    namespace MyDLL

    {

    //…

    namespace MyChildDLL

    {

    public class  MyPublicChildClass

    {

    }

    }

    }

         这时,外界可通过以下格式的声明来使用此类型:

    MyDLL.MyChildDLL.MyPublicChildClass obj2 =

    new  MyDLL.MyChildDLL.MyPublicChildClass();

         同样可以使用 using语句缩短语句的长度。不再赘述。

    3.2类库

         为了提高软件开发的效率,人们在整个软件开发过程中大量应用了软件工程的模块化原

    则,将可以在多个项目中使用的代码封装为可重用的软件模块,其于这些可复用的软件模块,

    再开发新项目就成为重用已有模块,再开发部分新模块,最后将新旧模块组装起来”

    过程。整个软件开发过程类似于现代工业的生产流水线,生产线上的每个环节都由特定的人

    员负责,整个生产线上的工作人员既分工明确又相互合作,大大地提高了生产效率。

          在组件化开发大行其道的今天,人们通常将可以重用的软件模块称为软件组件”

     

          类库项目编译之后,会生成一个动态链接库(DLL:Dynamic Link Library)文件。这就

     

    是可以被重用的.NET软件组件——程序集。默认情况下,类库文件名就是项目名加上.dll”

     

    后缀。

     

         每个类库项目都拥有一个默认的命名空间,可以通过类库项目的属性窗口来指定。

     

         需要仔细区分类库项目程序集命名空间这三个概念的区别:

     

        (1)每个类库项目编译之后,将会生成一个程序集。

     

        (2)类库项目中可以拥有多个类,这些类可属于不同的命名空间。

     

        (3)不同的类库项目可以定义相同的命名空间。

     

         根据上述三个特性,可以得到以下结论:

     

        “命名空间是一个逻辑上的概念,它的物理载体是程序集,具体体现为“DLL”(或

     

    EXE)文件。在Visual  Studio中,可通过创建类库类型的项目生成程序集。

     

         一个程序集可以有多个命名空间,而一个命名空间也可以分布于多个程序集。

         一个项目添加完对特定程序集的引用之后,就可以直接创建此程序集中的类了,当然要

    注意指明其命名空间。

     

  • 相关阅读:
    Spring(3)
    Spring(2)
    Spring(1)
    2016年给自己的一个清单计划
    今天早上是我第一次发博客,请大家多多关照
    QTP知识积累
    [转]基于实际测试的功能测试点总结
    Django之模板
    Django之视图
    HTML
  • 原文地址:https://www.cnblogs.com/LCL390/p/4300345.html
Copyright © 2011-2022 走看看