IN THIS CHAPTER
Working with Inheritance
Overriding Virtual Methods
Creating Abstract Classes
Working with Polymorphism
Boxing and Unboxing Types
Protecting Nested Classes
Using Interfaces
Working with Delegates
Handling Events with Delegates