Difference between revisions of "Cpp Coding Standards/CLSDESIGN/Inherit"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (Linked LSP)
 
(One intermediate revision by one other user not shown)
Line 2: Line 2:
  
 
If you employ public inheritance, use it to be reused and not to reuse another implementation. That is, inherit publicly from a baseclass, to allow client code to use your class instead of the base class. Make sure you don't violate the [[../../Virtual Classes/LSP |LSP]] doing so.
 
If you employ public inheritance, use it to be reused and not to reuse another implementation. That is, inherit publicly from a baseclass, to allow client code to use your class instead of the base class. Make sure you don't violate the [[../../Virtual Classes/LSP |LSP]] doing so.
 +
 +
 +
[[Category:Coding Standards]]

Latest revision as of 23:06, 19 July 2007

Avoid inheritance, because it induces the second highest coupling possible in c++ (second only to friendship). Instead, prefer composition by default.

If you employ public inheritance, use it to be reused and not to reuse another implementation. That is, inherit publicly from a baseclass, to allow client code to use your class instead of the base class. Make sure you don't violate the LSP doing so.

Personal tools