This document provides an introduction and overview of inheritance in C#, including: - Inheritance allows classes to extend existing classes, inheriting members and behavior - Derived classes can call base class constructors via the base keyword - The protected keyword controls accessibility for inherited members - Virtual and override enable dynamic binding and polymorphism by allowing derived classes to override base class methods - Abstract classes define common interfaces for derived classes to implement