当前位置: 首页 > 编程笔记 >

什么是C#中的运行时多态?

欧阳勇军
2023-03-14
本文向大家介绍什么是C#中的运行时多态?,包括了什么是C#中的运行时多态?的使用技巧和注意事项,需要的朋友参考一下

运行时多态性具有方法覆盖,也称为动态绑定或后期绑定。它由抽象类和虚函数实现。

抽象类

抽象类包含抽象方法,这些方法由派生类实现。

让我们看一个实现运行时多态性的抽象类的示例-

示例

using System;

namespace PolymorphismApplication {
   abstract class Shape {
      public abstract int area();
   }

   class Rectangle: Shape {
      private int length;
      private int width;

      public Rectangle( int a = 0, int b = 0) {
         length = a;
         width = b;
      }

      public override int area () {
         Console.WriteLine("矩形类区域:");
            return (width * length);
      }
   }

   class RectangleTester {
      static void Main(string[] args) {
         Rectangle r = new Rectangle(10, 7);
         double a = r.area();
         Console.WriteLine("Area: {0}",a);
         Console.ReadKey();
      }
   }
}

示例

矩形类区域:
Area: 70

虚函数

当您在类中定义了要在继承的类中实现的函数时,可以使用虚函数。虚拟函数可以在不同的继承类中以不同方式实现,并且对这些函数的调用将在运行时确定。

 类似资料:
  • 本文向大家介绍C#中的编译时多态是什么?,包括了C#中的编译时多态是什么?的使用技巧和注意事项,需要的朋友参考一下 多态可以是静态的也可以是动态的。在静态多态性中,对函数的响应是在编译时确定的。在动态多态中,它是在运行时决定的。 在编译期间将函数与对象的链接称为早期绑定。也称为静态绑定。C#提供了两种技术来实现静态多态性。它们是函数重载和运算符重载。 在函数重载中,可以在同一作用域中为相同的函数名

  • 问题内容: 我试图了解该方法的作用。 该文档说,它“返回对象的运行时类”。这种解释并不能帮助我理解该术语。 是否有人简单地描述了什么是“运行时类”,它是什么? 问题答案: 只需将其理解为“具有该对象类型的所有元数据的对象”即可。在该对象中,您可以找到在类,字段,类型层次结构等中声明的方法。该信息通常由使用反射来检查对象/类型或运行方法的代码使用,而无需使用在对它们进行编码时定义和编译的类。 可以强

  • 本文向大家介绍什么是C#中的多态性?,包括了什么是C#中的多态性?的使用技巧和注意事项,需要的朋友参考一下 多态可以是静态的也可以是动态的。在静态多态性中,对函数的响应是在编译时确定的。在动态多态中,它是在运行时决定的。 在静态多态性中,对函数的响应是在编译时确定的。在动态多态中,它是在运行时决定的。动态多态是我们所谓的后期绑定。 编译时多态或静态绑定 在编译期间将函数与对象链接的机制称为早期绑定

  • 因为问题已经被问了很多次了,但我不能理解清楚。 根据提供的答案,JavaScript运行时意味着执行JavaScript代码的地方。 现在Nodejs的定义,它是一个异步的javascript运行时,这是否意味着在Nodejs内部执行javascript? 另外,javascript runtime environment,是指执行javascript代码的环境或机器设置吗? 对不起,我重复了我的

  • 在文档中,经常说“JavaFX运行时”在后台执行XY--但什么是“运行时”?如果我理解正确(请编辑),运行时由以下部分组成: null

  • 本文向大家介绍什么是运行时多态或动态方法重载?,包括了什么是运行时多态或动态方法重载?的使用技巧和注意事项,需要的朋友参考一下 多态是对象采取多种形式的能力。当使用父类引用来引用子类对象时,会在OOP中最常见地使用多态。被子类覆盖的方法称为运行时多态。JVM确定要在运行时而不是编译时执行的方法。  示例 输出结果