Subclass (computer science)
|
In object-oriented programming, a subclass is a class that inherits some properties from its superclass.
You can usually think of the subclass as being "a kind of" its superclass, as in a "a Manx is a kind of cat", or "a square is a kind of rectangle".
cat | rectangle |
---|---|
has fur has four legs has a tail |
has four sides, lengths w and h |
manx cat | square |
does not have a tail | all sides have same length, w=h |
This table aims to show how subclasses (below) are like their superclasses (above) but more specific. That is, the facts about the cat states what is generally true for all cats, even if some kinds of cats happen to have no tail. And while all rectangles have four sides, the square has the more restricted feature that all of its sides have the same length.
Don't confuse the subclass-superclass relationship with that of classes and instances. An "instance of cat" refers to one particular cat. The manx cat in the table is still a class - there are many instances of manx cats. And if a particular cat (an instance of the cat class) happen to have its tail bitten off by a fox, that does not change the cat class. It's just that particular cat that has changed.
Some software manuals refer to subclasses as derived classes.
See also
For a more in-depth explanation of the concept of classes in object-oriented programming, see class (computer science), in particular the section about subclasses and superclasses on that page.