course | mod | topic | first name | date completed |
---|---|---|---|---|
cit-130 | inheritance | computing history | ||
module learning objectives | ||||
|
Using our CIT-115 class's computer history timeline, we're learning the essentials of Java's inheritance mechanism. Follow these steps and thoughtfully respond to these questions:
Using LIANG9: Chapter 11 as your guide, create a class inheritance diagram of the non-example code. Be sure to show class names, member variables, and method headers in each of your classes in the diagram. Create this diagram on separate paper and include in this Hamburger when you're ready for it to be reviewed.
In the space below, generate a list of at least three elements or dimensions of this non-example that demonstrate poor object design and inheritance choices. (There are many more than three weaknesses!) Strive to use formal Java language to describe the weaknesses, please.
Grab more paper (or a new program file) and carefully design a new class inheritance diagram to encode the data that's currently on the timeline into a Java program. Consider the "is a" relationship versus "is able to (be)" class relationship.
Your class diagram should include the following object design principles:
Improving or critiquing a tool is a fantastically productive way to master the essential components in any learning process. In the space below, create a list of at least three concrete ways your class hierarchy and demo code improves on the non-example. Cite line numbers or, better yet, write the most important lines of your response and then digest it.