is all Class can inherit a real class but not abstract in simple factory pattern?
===

i use  simple factory pattern like this:
`
public Class Father
{
public virtual int field1;
public virtual int Dosth()
{

}

}


Public Class Son:Father
{
//inherit field1 from Father
public override int Dosth();//override Father's method

public string ex_field;
public string string Ex_method()
{
}
}

public Class Factory
{
public static Father CreateObj(string condition)
{
switch(condition)
{
case("F"):
return new Father();
case("S"):
return new Son();
default:
throw new exception("you have no choice");

}

}

}






`
in the code ,I use a real class instead of a abstract class as the factory class.
because the class Son just have something expand in Father Class base(most context can use father's ).if Father and Son inherit a abstract class by each.Class son can't inherit Father's fields and methods.
so my question is :anything not good will happen in future if write as fllow (i feel not good but can't find a better one )?
is there a better way? 


