none
一个class里面的方法返回这个class本身,这种做法有什么用呢? RRS feed

答案

  • 当然有的,你可以了解一下设计模式中的工厂模式 http://www.cnblogs.com/bit-sand/archive/2008/01/25/simple_Factory_Pattern.html
    知识改变命运,奋斗成就人生!
    2009年7月23日 1:06
    版主
  • 他的构造函数应该是private的吧

    这样可以控制如何生成类的实例, 比如单件模式
    http://feiyun0112.cnblogs.com/
    2009年7月23日 1:40
    版主
  • 他的构造函数应该是private的吧

    这样可以控制如何生成类的实例, 比如单件模式
    http://feiyun0112.cnblogs.com/

    比如说 webrequest 类的create   有可能返回一个自己的派生类  是http request  还是ftp request  取决于 create 函数的参数
    答案900, 目标五颗星 Aurvana Air, 音乐真的是随风飘来的 凉宫春日 永无止境的八月 你到底什么时候结束阿。。。。
    2009年7月23日 1:45
    版主
  • 你好 这是有用的 就如工厂模式 DbProviderFactory.GetFactory

    一般在类的静态方法中也经常使用
    比如HttpContext.Current
    XmlReader.Create

    .....


    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年7月23日 1:48
    版主
  • 你好,.NET 类库也有很多这样的类,不能自己实例化,通过调用一方法来实例化对象并返回,还有就是设计模式中经常会用到这些功能,比如工厂模式
    jon.valett@gmail.com
    2009年7月23日 1:51
    版主
  • 举个简单的例子:
    有3个类,其中一个是父类,另两个是子类。
    class Employee
    {
           public static Employee Create(string employeeType)
          {
                 if(employeeType == "Manager")
                  {
                           return new Manager();
                  }
                  if(employeeType == "Manager")
                  {
                         return new Sales();
                  }
          }
    }

    class Manager : Employee
    {

    }

    class Sales : Employee
    {}

    以上代码采用了一个简单的工厂方法,来实现多态封装,以后的扩展只需要增加一个继承Employee的类,例如工程师。
    2009年7月23日 3:04

全部回复

  • 当然有的,你可以了解一下设计模式中的工厂模式 http://www.cnblogs.com/bit-sand/archive/2008/01/25/simple_Factory_Pattern.html
    知识改变命运,奋斗成就人生!
    2009年7月23日 1:06
    版主
  • 他的构造函数应该是private的吧

    这样可以控制如何生成类的实例, 比如单件模式
    http://feiyun0112.cnblogs.com/
    2009年7月23日 1:40
    版主
  • 他的构造函数应该是private的吧

    这样可以控制如何生成类的实例, 比如单件模式
    http://feiyun0112.cnblogs.com/

    比如说 webrequest 类的create   有可能返回一个自己的派生类  是http request  还是ftp request  取决于 create 函数的参数
    答案900, 目标五颗星 Aurvana Air, 音乐真的是随风飘来的 凉宫春日 永无止境的八月 你到底什么时候结束阿。。。。
    2009年7月23日 1:45
    版主
  • 你好 这是有用的 就如工厂模式 DbProviderFactory.GetFactory

    一般在类的静态方法中也经常使用
    比如HttpContext.Current
    XmlReader.Create

    .....


    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年7月23日 1:48
    版主
  • 你好,.NET 类库也有很多这样的类,不能自己实例化,通过调用一方法来实例化对象并返回,还有就是设计模式中经常会用到这些功能,比如工厂模式
    jon.valett@gmail.com
    2009年7月23日 1:51
    版主
  • 举个简单的例子:
    有3个类,其中一个是父类,另两个是子类。
    class Employee
    {
           public static Employee Create(string employeeType)
          {
                 if(employeeType == "Manager")
                  {
                           return new Manager();
                  }
                  if(employeeType == "Manager")
                  {
                         return new Sales();
                  }
          }
    }

    class Manager : Employee
    {

    }

    class Sales : Employee
    {}

    以上代码采用了一个简单的工厂方法,来实现多态封装,以后的扩展只需要增加一个继承Employee的类,例如工程师。
    2009年7月23日 3:04