代码之家  ›  专栏  ›  技术社区  ›  unom

理解方法、泛型类型等之间的区别

  •  0
  • unom  · 技术社区  · 14 年前

    在下面的代码中,“Move”public类派生自泛型类型“Submit”Submit”是一种方法,是DSS模型的一部分,它处理消息并接受两个参数,一个是消息体,一个是消息响应。

    我的问题是:类如何或为什么从方法派生?!

    在我看来(因为我只是一个初学者)“泛型”的意思就是。。。任何方法或类(通过扩展,任何“代码块”)都可以成为类型。而且没有类型。。。一切都只是一个“类”,您可以从中派生(但您可能无法重载字符串)

    非常感谢。 我不是在找专家,除了这件不可能的小衣服。我想确认,这是,事实上,90%的时间,程序员在做什么。

      public class Move : Submit<MoveRequest, PortSet<DefaultSubmitResponseType, Fault>>
      {
        public Move()
        {
        }
    
        public Move(MoveRequest body) : base(body)
        {
        }
    
      }
    
    3 回复  |  直到 14 年前
        1
  •  1
  •   KeithS    14 年前

    泛型,从概念上讲,是能够在一组“内部”类型中提供类似功能的类。最基本的例子是一个数学类,它可以对两个数值型变量进行加法、减法、乘法和除法运算;你知道,非常高级的数学你不能用任何其他方法。在大多数类型系统中有很多数字类型(在C中,有byte、short、int、long、float、double和decimal,还有无符号变体)。您可以简单地创建一个 Math<T>

    类型参数T与方法参数不同;当您声明类的实例时,您将指定实例将要设置为处理的类型。然后,该实例只能处理指定类型的对象,但您可以实例化 Math<byte> 和一个 Math<decimal> 和不同类型的人一起工作。Math中定义的方法指定T类型的输入参数,并且T在实例化时被“替换”为实例化类时声明的类型。

    希望这更有教育意义。

        2
  •  5
  •   Alex Reitbort    14 年前

    不能从方法派生。 Submit<T, V, E> 必须是一个类。

        3
  •  1
  •   Guffa    14 年前

    不, Submit 提交