Summary
In this chapter, we learned about the core concepts of object-oriented programming: abstraction, encapsulation, inheritance, and polymorphism. We learned about the language functionalities that enable them, such as inheritance, virtual members, abstract types and members, sealed types and members, interfaces, and method and operator overloading. At the end of this chapter, we briefly discussed other object-oriented principles known as SOLID.
In the next chapter, we will learn about another programming paradigm in C#—generic programming.