| 1.2 | Develop code that declares an interface. Develop code that implements or extends one or more interfaces. Develop code that declares an abstract class. Develop code that extends an abstract class.
| | 1.5 | Given a code example, determine if a method is correctly overriding or overloading another method, and identify legal return values (including covariant returns), for the method.
| | 1.6 | Given a set of classes and superclasses, develop constructors for one or more of the classes. Given a class declaration, determine if a default constructor will be created and, if so, determine the behavior of that constructor. Given a nested or non-nested class listing, write code to instantiate the class.
| | 5.1 | Develop code that implements tight encapsulation, loose coupling, and high cohesion in classes, and describe the benefits. | | 5.2 | Given a scenario, develop code that demonstrates the use of polymorphism. Further, determine when casting will be necessary and recognize compiler versus runtime errors related to object reference casting. | | 5.3 | Explain the effect of modifiers on inheritance with respect to constructors, instance or static variables, and instance or static methods.
| | 5.4 | Given a scenario, develop code that declares and/or invokes overridden or overloaded methods and code that declares and/or invokes superclass or overloaded constructors.
| | 5.5 | Develop code that implements “is-a” and/or “has-a” relationships. |
|