Class Interface C#

using System;
public class Starter {
    public static void Main() {
        MyClass obj = new MyClass();
        // Fails at compile time
        // YClass alias=obj;
        // Fails at run time
        YClass alias = (YClass)obj;
        obj.MethodA();
        obj.MethodB();
    }
}
public class MyClass {
    public virtual void MethodA() {
    }
    public virtual void MethodB() {
    }
}
public class YClass : MyClass {
    public override void MethodA() {
    }
}