C# was designed from the ground up to be an object-oriented, type-safe programming language. In this course, you will build on the fundamentals that were covered in Introduction to C#. You will extend your knowledge by applying core OOP principles to the code and applications you will create in this course. You will build a knowledge of encapsulation, inheritance and polymorphism. You will also learn memory management in the .NET framework.