# Introduction to Inheritance in C#

Introduction to Inheritance in C#: Introduction to Inheritance in C#: an overview, Generalization vs Specialization, Inheritance in C#, Inheritance and…

Updated: November 3, 2026

1. [Introduction to Inheritance in C#: an overview](https://www.ask-codey.com/lessons/introduction-to-inheritance-in-csharp-an-overview) (Apprentice): Inheritance lets one class build on another. An archer is a character, so Archer inherits everything Character has, and adds what only archers have.
2. [Generalization vs Specialization](https://www.ask-codey.com/lessons/introduction-to-inheritance-in-csharp-generalization-vs-specialization) (Apprentice): Generalization moves what similar classes share into a base class; specialization keeps what makes each one different in its derived class.
3. [Inheritance in C#](https://www.ask-codey.com/lessons/introduction-to-inheritance-in-csharp-inheritance-in-csharp) (Apprentice): A derived class names its base class after a colon. It inherits every member of the base class, but its code can use only the public and protected ones, never the private ones; and every class inherits from object in the end.
4. [Inheritance and Constructors](https://www.ask-codey.com/lessons/introduction-to-inheritance-in-csharp-inheritance-and-constructors) (Journeyman): When a base class has a constructor with parameters, every derived class must call it with base(...). The base class's constructor always runs first.
5. [Overriding Methods](https://www.ask-codey.com/lessons/introduction-to-inheritance-in-csharp-overriding-methods) (Journeyman): A base class marks a method virtual so derived classes may change it; a derived class replaces it with override, and can still run the base version with base.MethodName().

Source: https://www.ask-codey.com/courses/csharp-full-stack-bootcamp/topics/introduction-to-inheritance-in-csharp
