# Polymorphism in C#

Polymorphism in C#: Polymorphism in C#: an overview, Changing Roles, Polymorphism with Base Classes.

Updated: November 3, 2026

1. [Polymorphism in C#: an overview](https://www.ask-codey.com/lessons/polymorphism-in-csharp-an-overview) (Apprentice): Polymorphism means "many forms". An object can be seen in more than one way, and code can work with whichever way it needs.
2. [Changing Roles](https://www.ask-codey.com/lessons/polymorphism-in-csharp-changing-roles) (Apprentice): Through the day, people treat Chloe as a student, a singer or an athlete. Each sees only the role it needs. Polymorphism shifts focus in the same way.
3. [Polymorphism with Base Classes](https://www.ask-codey.com/lessons/polymorphism-in-csharp-polymorphism-with-base-classes) (Journeyman): A base class variable or list can hold any derived object, and calling a virtual method runs each object's own override. Use is to reach a derived class's own members.

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