You can ommit the implementation of the interface within your concrete class, as the base class already implements it. However you might also implement the interface explicitly meaning you may "override" the behaviour from your base (the-abstract) class (overriding is not real the correct word here). This further expects to cast your instance explicitky to the interface to call that method:
public class MainClass : AbClass, Iinterface
{
//how this methods will be implemented here???
void Iinterface.printMyName()
{
throw new NotImplementedException();
}
}
You may call this cia ((Iinterface(myMainClassInstance).printMyName()
. If you call myMainClassInstance.printMyName
however the base-implementation is called.
If you want to support a base-implementatation within your base-class you may however make the method virtual
and override it within your derived class.