Sometimes you DO want to be just like your parents.
Ever run across an object that almost does exactly what you want your object to do? Found yourself wishing that if you could just change a few things, that object would be perfect? Well, that’s just one reason that inheritance is one of the most powerful concepts and techniques in the C# language. Before you’re through with this chapter, you’ll learn how to subclass an object to get its behavior, but keep the flexibility to make changes to that behavior. You’ll avoid duplicate code, model the real world more closely, and end up with code that’s easier to maintain.
Now that you got your program working, Kathleen is using it all the time. But she doesn’t just handle dinner parties—she does birthdays too, and they’re priced a little differently. She’ll need you to add birthdays to her program.
There’s no healthy option for birthday parties. Can you think of how this could lead to bugs if you start out a project by copying and pasting code from the
DinnerParty class from the last chapter?
Modifying your program to calculate the cost of Kathleen’s birthday parties means adding a new class and changing the form to let ...