Information Technology Reference
In-Depth Information
Fig. 8.3 Requirement
Analysis (Language of
application Domain)
Incident
Report
Fig. 8.4 Object Design
(Language of solution
Domain)
Incident
Report
Textbox
Menu
Scrollbar
8.3.2 Inheritance
Inheritance is the ability of a class to take on the attributes and methods of a
superclass (Schach 2008 ). The ability to transfer details from a higher level class to
a lower level permits code reuse. Classes can be seen as children and parents.
Children have all the same properties as their parents, but may implement their
own new methods and attributes. Their children, in turn, by definition have all the
attributes of their parent class and what could be termed their grandparent class.
Though all object-oriented languages support inheritance, not all languages sup-
port multiple inheritance. True to its name, multiple inheritance is the ability for a
child class to be derived from multiple parent classes.
8.3.3 The Liskov Substitution Principle
The Liskov Substitution principle provides a formal definition for specification
inheritance. It essentially states that if a client code uses the methods provided by a
superclass, then developers should be able to add new subclasses without having to
change the client code (Bruegge and Dutiot 2004 ).
8.4 Specifying Interfaces
During the object design our understanding of each object deepens. As the focus of
system design was on identifying large chunks of work that could be assigned to
individual teams or developers, the focus of object design is to specify the
boundary between objects. At this stage a large number of developers refine and
Search WWH ::




Custom Search