1.
When you need to define an object type's characteristics, use an interface. When you need to define an object type's capabilities, use an abstract class.
2.
Interfaces are a legacy of older versions of C#, and are interchangeable with the newer abstract class feature.
3.
When you need a list of capabilities and data that are classes-agnostic, use an interface. When you need a certain object type to share characteristics, use an abstract class.
4.
You should use both an interface and an abstract class when defining any complex object.
Q 1 / 64
Press C to Clear
Press R to Reset
Press N or Enter to Next or Check answer
Press 1,2,3, ... to toggle answers