Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 多态性的类型。不止一个?_C#_Java_Polymorphism - Fatal编程技术网

C# 多态性的类型。不止一个?

C# 多态性的类型。不止一个?,c#,java,polymorphism,C#,Java,Polymorphism,我还在上大学,在学习Java时只记得听说过一种多态性;然而,当我在C#班上时,我只记得我的教授谈论了4种多态性 我只知道在更具体的类中对特定行为进行子类化和定义,并且由于接口签名,我能够使用基类中的单个方法调用这些特定行为 其他的类型是什么?它们的重要性是否和我们上面所教的唯一类型一样大?这就是为什么没有教授的原因吗?是的,有4种多态性 重载(相同的函数名,不同的参数类型。这包括运算符重载,并在编译时完成) 参数多态性(类似于C++中的模板)编译时 子类型多态性(如果函数具有具有子类型的参数,例

我还在上大学,在学习Java时只记得听说过一种多态性;然而,当我在C#班上时,我只记得我的教授谈论了4种多态性

我只知道在更具体的类中对特定行为进行子类化和定义,并且由于接口签名,我能够使用基类中的单个方法调用这些特定行为


其他的类型是什么?它们的重要性是否和我们上面所教的唯一类型一样大?这就是为什么没有教授的原因吗?

是的,有4种多态性

  • 重载(相同的函数名,不同的参数类型。这包括运算符重载,并在编译时完成)

  • 参数多态性(类似于C++中的模板)编译时

  • 子类型多态性(如果函数具有具有子类型的参数,例如Car->Honda,f(Car),则函数f也将接受f(Honda)运行时。)

  • 参数强制(这是一种隐式类型转换。例如,函数可能需要双精度/real/float,但将接受int并隐式向上转换参数) 编译时

  • 参考:

    • 由卡德利和韦格纳

    是的,有4种多态性

  • 重载(相同的函数名,不同的参数类型。这包括运算符重载,并在编译时完成)

  • 参数多态性(类似于C++中的模板)编译时

  • 子类型多态性(如果函数具有具有子类型的参数,例如Car->Honda,f(Car),则函数f也将接受f(Honda)运行时。)

  • 参数强制(这是一种隐式类型转换。例如,函数可能需要双精度/real/float,但将接受int并隐式向上转换参数) 编译时

  • 参考:

    • 由卡德利和韦格纳

    我认为多态性的全部要点是,允许多种
    类型,行为可能会有所不同。。。看到我在那里做了什么吗-你最好的办法是问你的教授,在你的特定课程中,这四种多态性是什么。。。你可以在这里找到对它的解释,这些解释可能对你的考试没有帮助……根据维基百科,只有。是的……我还在放暑假。但我只记得她说过那句话。那时候我的头脑已经过去了……但我想这已经足够让我停留在记忆中了……事实上不止一个。@Jeffrey-维基百科的文章与它的一个引用(Cardelli&Wegner)相矛盾。我认为多态性的全部要点是允许多个
    类型
    。。。看到我在那里做了什么吗-你最好的办法是问你的教授,在你的特定课程中,这四种多态性是什么。。。你可以在这里找到对它的解释,这些解释可能对你的考试没有帮助……根据维基百科,只有。是的……我还在放暑假。但我只记得她说过那句话。当时我从脑海中掠过……但我想这足以让我留在记忆中……事实上不止一个。@Jeffrey-维基百科的文章与其中一个参考文献相矛盾(Cardelli&Wegner)谢谢!因此,它们基本上就是我们所学的…它们只是用不同的名称…比如重载,这是最容易记住和执行的+1。您忽略了原始的上多形性,它将在以后修复,但在以后意味着无论您(ab)在何处使用
    dynamic
    switch
    。谢谢!所以它们基本上就是我们所学的…它们只是用不同的名字…比如重载,这是最容易记住和做的+1你忽略了原始的上多形性,它会在以后固定,但在以后意味着无论你(ab)在哪里使用
    dynamic
    switch