namespace CISS_ProgrammingExercise
static void Main(string[] args)
Console.WriteLine("The output:\n");
Console.WriteLine("\n\nPress a key to continue..");
var derived = new Derived();
var derived = derived.GetString();
var finished = new Finished();
var human = finished.GetString();
var moreDerived = new MoreDerived();
var moreDerived2 = new MoreDerived2();
MoreDerived2.MoreDerived2();
moreDerived2.GetString();
moreDerived.IWord2.Print();
public interface IWord2 : IWord
public abstract class Base
protected static string msg = "send ";
Console.Write(this.GetString());
public virtual void Print()
protected virtual string GetString()
public class Derived : Base, IWord
Console.Write(Derived.msg);
public new virtual void Print()
protected override string GetString()
public sealed class MoreDerived : Derived, IWord
public override void Print()
protected override string GetString()
public sealed class MoreDerived2 : Derived, IWord2
protected override string GetString()
public abstract class Unfinished : Base
protected new void Print()
protected override string GetString()
public class Finished : Unfinished