C# › Interfaces & Abstract Classes
When would you choose an abstract class over an interface for extensibility?
AdvancedAnswer
When you need shared state or non-trivial common implementation, versioning with protected members, or to control the construction of derived types — things interfaces cannot express as cleanly.
public abstract class HttpHandlerBase { protected readonly HttpClient Http; ... }Real-world example A framework base class that provides plumbing and calls abstract hooks (template method pattern).