C#入门经典第四版  99页有一句话 【关键字static与面向对象的概念相关,本书在后面讨论】这一章节是在讲 函数 ,而且这一章节中出现的函数都是用了static,请教各位前辈,这里 关键字static与面向对象的概念相关  到底想说什么,能不能举个例子?这个章节中,示例函数都有static   书中为什么要这样用   ?

解决方案 »

  1.   

    用static 可能是为了main方法里能够直接调用这个方法如果不用static 需要实现这个类才能调用
      

  2.   

    static主要用于在类不同对象间共享数据和代码。
      

  3.   

    算是作者的那天喝多了吧。我有时也喝多了。如果一定要细追究,static反而是有些反纯粹OO的。有些OOPL,没有static概念,所以才出现一个“单例模式”的概念,使用可实例化的对象返回一个单例Instance属性来标记。
      

  4.   


    static和类的关系我理解   但是书中函数也用static是什么道理呢?
      

  5.   

    Class A
    {
      Public static string GetName()
      {
         renturn "XX";
      }
    }
    如此声明,不需要实例化一个A类实体即可调用GetName
    //A xx = new A();<--不需要这句
    string Name = A.GetName(); //<--直接取
      

  6.   

    这个还是跟类相关啊    我指的是   这个函数不是在类中就是直接声明一个函数 static int xx(){}  这里static做什么用的?
      

  7.   


    static主要解决底层的存储方式的技术方案,和C#中大多数技术一样与较高层oo的关系不大。在很多的系统功能性API类库中都会使用static,比如分析字符串用DateTime.Parse()是不用创建DateTime实例的。
      

  8.   


    是哪个版本.net,新版本的.net不能这样吧?
    以前的c++, c中有这样的习惯,新的语言中多数都不支持这样的语法了。
      

  9.   


    这里的意思,还是说的是datatime类中的parse是用静态定义所以不用datatime示例对吧。但是,书上的一些函数,并非是在我们自己定义的类中指定static的,而是随便的在程序中定义的时候用了static ,我想知道,书上这样定义,到底有什么目的?
      

  10.   

    静态成员实际上是OOPL的一种妥协,和OO其实不相干...它的定义很清楚,与实例无关而只与类型相关的成员...至于书上的例子,是因为示例程序大多是Console应用程序,而应用程序主入口函数是static的...作者们都在偷懒,仅此而已...以前飞行员练编队飞行都拿个小模型飞机在那儿比划,你不会傻到认为他们驾驶小模型上天吧...教学仅仅是教学...