Interfaces
Abstract classes
Delegates