344.
What OOP concept best describes the code below

using System;
public class Line : DrawingObject
{
      public override void Draw()
      {
            Console.WriteLine("I'm a Line.");
      }
}
public class Circle : DrawingObject
{
      public override void Draw()
      {
            Console.WriteLine("I'm a Circle.");
      }
}
public class Square : DrawingObject
{
      public override void Draw()
      {
            Console.WriteLine("I'm a Square.");
      }
}

When you derive a class from a base class, the derived class will inherit all members of the base class except constructors, though whether the derived class would be able to access those members would depend upon the accessibility of those members in the base class. C# gives us polymorphism through inheritance. Inheritance-based polymorphism allows us to define methods in a base class and override them with derived class implementations. Thus if you have a base class object that might be holding one of several derived class objects, polymorphism when properly used allows you to call a method that will work differently according to the type of derived class the object belongs to.