C# is an object-oriented programming language. The four basic principles of object-oriented programming are: ... Encapsulation Hiding the internal state and functionality of an object and only allowing access through a public set of functions. Inheritance Ability to create new abstractions based on existing abstractions.