The new method overrides the inherited method. Overriding is commonly used to change an implementation to make it more specific to the subclass. The statement would be legal if 1. This pertains to the concept of polymorphism. The methods called on the objects are resolved at runtime using dynamic binding.
Use cases are a user centric description of the interaction between a computer system and a user.
They are a part of the analysis phase of a project, often formatted using UML use case diagrams and a textual format which includes actors, triggers, errors, variations, purpose, and procedure. They are important because they are a first step at anticipating the normal and exceptional types of interaction a user may have with a system, and thus assist in eliciting the requirements the system must meet to be robust. Note that a user need not be a person, but may also be another external system or device. By allowing the use of variables at higher levels in the class hierarchy without being concerned about the particulars of the actual objects those variables reference, but with the assurance that the appropriate object-specific method will be used in each case. This even allows methods to be written that will correctly apply to objects of subclasses that haven't even been invented yet.