Chapter 6. Inheritance: Is That All I Get?
In This Chapter
Defining one class in terms of another, more fundamental class
Differentiating between is a and has a
Substituting one class object for another
Constructing static or instance members
Including constructors in an inheritance hierarchy
Invoking the base class constructor specifically
Object-oriented programming is based on four principles: the ability to control access (encapsulation), inherit from other classes, respond appropriately (polymorphism), and refer from one object to another indirectly (interfaces).
Inheritance is a common concept. I am a human, except when I first wake up. I inherit certain properties from the class Human
, such as my ability to converse, more or less, and my dependence on air, food, and carbohydrate-based beverages with lots of caffeine. The class Human
inherits its dependencies on air, water, and nourishment from the class Mammal
, which inherits from the class Animal
.
The ability to pass down properties is a powerful one. You can use it to describe items in an economical way. For example, if my son asks, "What's a duck?" I can say, "It's a bird that quacks." Despite what you may think, that answer conveys a considerable amount of information. My son knows what a bird is, and now he knows all those same characteristics about a duck plus the duck's additional property of "quackness."
Object-oriented languages express this inheritance relationship by allowing one class to inherit properties from another. ...
Get C# 2010 All-in-One For Dummies® now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.