Why does C# allow abstract class with no abstract members?
- by fatcat1111
The C# spec, section 10.1.1.1, states:
An abstract class is permitted (but
not required) to contain abstract
members.
This allows me to create classes like this:
public abstract class A
{
public void Main()
{
// it's full of logic!
}
}
This is really a concrete class; it's only abstract in so far as one can't instantiate it. If inheritors don't actually have to provide implementation, then why call it abstract?