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":
★ A 'cat' has fur, four legs, and a tail
★
★ A 'Manx cat' does not have a tail, but has all of the other characteristics listed above
★ A 'rectangle' has four sides with lengths ''w'' and ''h''
★
★ A 'square' has all of the characteristics of a rectangle; in addition, ''w'' = ''h''. Some [1] point out that squares may be a type of rectangle mathematically but are rarely desired to be treated as such in computer programs since changing the width of a rectangle does not change its height whereas this is the case for a square.
In this way, a subclass is a more specific version of its superclass; that is, the facts about the cat state 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.
Subclasses and superclasses are often referred to as ''derived'' and ''base'' classes, respectively, terms coined by C++ creator Bjarne Stroustrup, who found these terms more intuitive than the traditional nomenclature.[2]
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.
★ Implementation inheritance
★ Inheritance semantics
★ Virtual inheritance
1. Sutter, Herb. ''Exceptional C++''. Addison-Wesley. Reading, Mass. 1999. ISBN 0-201-61562-2. Page 95
2. Stroustrup, Bjarne. ''The Design and Evolution of C++''. Addison-Wesley. Reading, Mass. 1994. ISBN 0-201-54330-3. Page 49
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":
★ A 'cat' has fur, four legs, and a tail
★
★ A 'Manx cat' does not have a tail, but has all of the other characteristics listed above
★ A 'rectangle' has four sides with lengths ''w'' and ''h''
★
★ A 'square' has all of the characteristics of a rectangle; in addition, ''w'' = ''h''. Some [1] point out that squares may be a type of rectangle mathematically but are rarely desired to be treated as such in computer programs since changing the width of a rectangle does not change its height whereas this is the case for a square.
In this way, a subclass is a more specific version of its superclass; that is, the facts about the cat state 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.
Subclasses and superclasses are often referred to as ''derived'' and ''base'' classes, respectively, terms coined by C++ creator Bjarne Stroustrup, who found these terms more intuitive than the traditional nomenclature.[2]
| Contents |
| See also |
| References |
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.
★ Implementation inheritance
★ Inheritance semantics
★ Virtual inheritance
References
1. Sutter, Herb. ''Exceptional C++''. Addison-Wesley. Reading, Mass. 1999. ISBN 0-201-61562-2. Page 95
2. Stroustrup, Bjarne. ''The Design and Evolution of C++''. Addison-Wesley. Reading, Mass. 1994. ISBN 0-201-54330-3. Page 49
This article provided by Wikipedia. To edit the contents of this article, click here for original source.
psst.. try this: add to faves

العربية
ä¸å›½
Français
Deutsch
Ελληνική
हिनà¥à¤¦à¥€
Italiano
日本語
Português
РуÑÑкий
Español