Homework 1 - For problems 1 through 4, explain why the code

CMSC 405 CMSC 335
Homework 1
For problems 1 through 4, explain why the code as shown is almost certainly not what the programmer intended, and how it should be fixed to work the way the programmer probably had in mind.
1. (5 pts) What is wrong with the following program and how should it be fixed?
1 public class MyClassA { 2 int v = 12; 3 4 public MyClassA (int pV) { 5 v = pV; 6 } 7 8 public static void main (String args []) { 9 MyClassA m = new MyClassA (); 10 } // end main 11 } // end class MyClassA
2. (5 pts) What is wrong with the following program and how should it be fixed?
1 public class MyClassB { 2 int v = 12; 3 4 public void MyClassB (int pV) { 5 v = pV; 6 } 7 8 public static void main (String args []) { 9 MyClassB m = new MyClassB (23); 10 } // end main 11 } // end class MyClassB
3. (5 pts) What is wrong with the following program and how should it be fixed?
1 public class MyClassD { 2 public static void main (String args []) { 3 MyClassC m = new MyClassC (23); 4 } // end main 5 } // end class MyClassD 6 7 class MyClassC { 8 int v = 12; 9 10 public MyClassC (int pV) { 11 int v = pV; 12 } 13 14 } // end class MyClassC
4. (5 pts) What is wrong with the following program and how should it be fixed?
1 public class MyClassE { 2 public static void main (String args []) { 3 MyClassF m = new MyClassF (23); 4 } // end main 5 } // end class MyClassE 6 7 class MyClassF { 8 int v = 12; 9 10 private MyClassF (int pV) { 11 v = pV; 12 } 13 14 } // end class MyClassF
5. (5 pts) Given all the problems identified in problems 1 through 4, explain in detail why the following code works, ie, compiles without errors or warnings.
1 public class MyClassG { 2 public static void main (String args []) { 3 MyClassH m = new MyClassH (23, true); 4 } // end main 5 } // end class MyClassG 6 7 class MyClassH { 8 int v = 12; 9 10 public MyClassH (int x, boolean b) { 11 this (x); 12 } 13 14 private MyClassH (int pV) { 15 v = pV; 16 } 17 18 } // end class MyClassH
6. (5 pts) Explain why the following class hierarchy is not reasonable:
• DefenseDepartment o General
§ Private
7. (5 pts) Give at least one example of a reasonable field for each of the following classes in the following class hierarchy. Be sure that the field is at the right level in the hierarchy.
• Vehicle o Car o Airplane
§ Passenger § Fighter § Bomber
o SpaceShip
8. (5 pts) Give at least one example of a reasonable method for each of the following classes in the following class hierarchy. Be sure that the method is at the right level in the hierarchy. Constructors, getters and setters don't count for this problem.
• Vehicle o Car o Airplane
§ Passenger § Fighter § Bomber
o SpaceShip
9. (5 pts) Please provide an example of an encapsulation and an inheritance relationship? Explain 10. (5 pts) Present reasonable parent and child classes for the class Tree (the biological kind). Give a short explanation for why the classes you are proposing are in good parent-child relationships.
Grading Rubric:
Attribute Meets Does not meet Problem 1 5 points
Explains why the code as shown is almost certainly not what the programmer intended.
Explains how it should be fixed to work the way the programmer probably had in mind.
0 points Does not explain why the code as shown is almost certainly not what the programmer intended.
Does not explain how it should be fixed to work the way the programmer probably had in mind.
Problem 2 5 points Explains why the code as shown is almost certainly not what the programmer intended.
Explains how it should be fixed to work the way the programmer probably had in mind.
0 points Does not explain why the code as shown is almost certainly not what the programmer intended.
Does not explain how it should be fixed to work the way the programmer probably had in mind.
Problem 3 5 points Explains why the code as shown is almost certainly not what the programmer intended.
Explains how it should be fixed to work the way the programmer probably had in mind.
0 points Does not explain why the code as shown is almost certainly not what the programmer intended.
Does not explain how it should be fixed to work the way the programmer probably had in mind.
Problem 4 5 points Explains why the code as shown is almost certainly not what the programmer intended.
Explains how it should be fixed to work the way the programmer probably had in mind.
0 points Does not explain why the code as shown is almost certainly not what the programmer intended.
Does not explain how it should be fixed to work the way the programmer probably had in mind.
Problem 5 5 points Given all the problems identified in problems 1 through 4, explains in detail why the code works, ie, compiles without errors or warnings.
0 points Given all the problems identified in problems 1 through 4, does not explain in detail why the code works, ie, compiles without errors or warnings.
Problem 6 5 points Explains why the class hierarchy is not reasonable.
0 points Does not explain why the class hierarchy is not reasonable.
Problem 7 5 points Gives at least one example of a reasonable field for each of the classes.
The field is at the right level in the hierarchy.
0 points Does not give at least one example of a reasonable field for each of the classes.
The field is not at the right level in the hierarchy.
Problem 8 5 points Gives at least one example of a reasonable method for each of the classes.
The method is at the right level in the hierarchy.
Does not include constructors, getters and setters.
0 points Does not give at least one example of a reasonable method for each of the classes.
The method is not at the right level in the hierarchy.
Includes constructors, getters and setters.
Problem 9 5 points Explains inheritance and encapsulation correctly and in
0 points Does not explain inheritance and encapsulation correctly and in sufficient detail given the example provided.
sufficient detail given the example provided.
Problem 10 5 points Presents reasonable parent and child classes for the class Tree.
Gives a short explanation for why the classes you are proposing are in good parent-child relationships.
0 points Does not present reasonable parent and child classes for the class Tree.
Does not give a short explanation for why the classes you are proposing are in good parent-child relationships.

-
Rating:
5/
Solution: Homework 1 - For problems 1 through 4, explain why the code