Abstract classes should be base classes

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
(New page: Riel's Heuristic #5.6: All abstract classes must be base classes. ==Description== From {{Ref|1}}: <blockquote> ''If a class cannot build objects...)
 
m (Reverted edits by Ebybymic (Talk); changed back to last version by Joey Scarr)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Riel's Heuristic #5.6: [[Abstract classes should be base classes|All abstract classes must be base classes.]]
+
:''All abstract classes must be base classes.'' --Riel's Heuristic 5.6, [[Arthur Riel 1996]]
 
==Description==
 
==Description==
From {{Ref|1}}:
+
From [[Arthur Riel 1996]]:
 
<blockquote>
 
<blockquote>
 
''If a class cannot build objects of itself, then that class must be inherited by some derived class that does know how to build objects. If this is not the case, then the functionality of the base class can never be accessed by any object in the system, and therefore the class is irrelevant in the given domain.''
 
''If a class cannot build objects of itself, then that class must be inherited by some derived class that does know how to build objects. If this is not the case, then the functionality of the base class can never be accessed by any object in the system, and therefore the class is irrelevant in the given domain.''
Line 7: Line 7:
 
The corollary of which is Riel's heuristic #5.7: [[Avoid concrete base classes|All base classes should be abstract classes.]]
 
The corollary of which is Riel's heuristic #5.7: [[Avoid concrete base classes|All base classes should be abstract classes.]]
 
==See Also==
 
==See Also==
*[[Avoid concrete base classes|Riel's heuristic #5.7: All base classes should be abstract classes.]]
+
*[[Avoid concrete base classes]]
 
*[[Riel's heuristics]]
 
*[[Riel's heuristics]]
 
*[[Design maxims]]
 
*[[Design maxims]]
==References==
+
 
#{{Note|1}} Riel, A. J. 1996 ''Object-Oriented Design Heuristics.'' 1st. Addison-Wesley Longman Publishing Co., Inc.
+
[[Category:Riel's heuristics]]

Latest revision as of 03:18, 25 November 2010

All abstract classes must be base classes. --Riel's Heuristic 5.6, Arthur Riel 1996

Description

From Arthur Riel 1996:

If a class cannot build objects of itself, then that class must be inherited by some derived class that does know how to build objects. If this is not the case, then the functionality of the base class can never be accessed by any object in the system, and therefore the class is irrelevant in the given domain.

The corollary of which is Riel's heuristic #5.7: All base classes should be abstract classes.

See Also