Computer >> 컴퓨터 >  >> 프로그램 작성 >> 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("Rectangle class area :");
            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();
      }
   }
}

예시

Rectangle class area :
Area: 70

가상 기능

상속된 클래스에서 구현하려는 클래스에 정의된 함수가 있는 경우 가상 함수를 사용합니다. 가상 함수는 다른 상속된 클래스에서 다르게 구현될 수 있으며 이러한 함수에 대한 호출은 런타임에 결정됩니다.