The aim of this appendix has been to introduce you to the basic concepts of object-oriented design in C#, including:
Classes, objects, and instances
Fields, methods, and properties
Overloading
Inheritance and class hierarchies
Polymorphism
Interfaces
Object-oriented programming methodology is strongly reflected in the design of the C# language, and of Intermediate Language too, which becomes apparent when you start using the .NET base classes. Microsoft has done this because with our current understanding of programming techniques, it simply is the most appropriate way of coding any large library or application.