Наследование, вместе с инкапсуляцией и полиморфизмом, является одной из трех основных характеристик (или базовых понятий) объектно-ориентированного программирования. Наследование позволяет создавать новые классы, которые повторно используют, расширяют и изменяют поведение, определенное в других классах. Класс, члены которого наследуются, называется базовым классом, а класс, который наследует эти члены, называется производным классом. Производный класс может иметь только один непосредственный базовый класс. Однако наследование является транзитивным. Если ClassC является производным от ClassB, и ClassB является производным от ClassA, ClassC наследует члены, объявленные в ClassB и ClassA.
Доступ к членам базового класса во вложенном классе можно получить даже если эти базовые члены переопределены в суперклассе при помощи ключевого слова base. Например, можно создать производный класс, содержащий метод с той же подписью, что и в базовом классе. Если перед методом поставить ключевое слово new, то это будет означать, что метод является абсолютно новым, принадлежащим производному классу. С помощью ключевого слова base можно по-прежнему создать метод для доступа к исходному методу в базовом классе.