In object-oriented analysis and design terminology, does a method specify only the form or protocol (that is, the signature) of an operation while omitting its implementation details? Choose the most accurate evaluation of this statement.

Difficulty: Easy

Correct Answer: Incorrect

Explanation:

Introduction / Context: This question checks whether you can correctly distinguish between the terms operation and method as used in object-oriented modeling (for example, Unified Modeling Language). Although many developers use the words informally, UML assigns each a specific meaning that separates interface from implementation.

Given Data / Assumptions:

  • The statement claims that a “method” defines only the form or protocol, not the implementation.
  • We assume the UML meaning of operation and method.
  • We consider typical object-oriented programming languages that map these ideas to code (interfaces, abstract methods, concrete methods).

Concept / Approach: In UML, an operation is the specification of a service provided by a class—its name, parameters, and return type. A method is the algorithm (the body) that realizes an operation for a particular class. Thus, the interface-level “form” (signature) is the operation; the executable behavior is the method. Abstract operations may have no method, whereas concrete classes supply methods that implement operations.

Step-by-Step Solution:

Identify what “form or protocol” refers to: the signature (name, parameters, result).Map that to UML terminology: this is an operation, not a method.Recognize that a method is the implementation of an operation.Therefore, the statement that a “method” specifies form without implementation is inaccurate.

Verification / Alternative check: Consider a Java interface: it declares operations (signatures). A concrete class provides method bodies. The distinction mirrors UML’s operation (specification) versus method (implementation).

Why Other Options Are Wrong:

  • Correct: Wrong because in UML the operation is the form; the method is the implementation.
  • “Only true in procedural languages” or “true only for abstract classes” confuse language families and inheritance with UML definitions.
  • “Depends on the UML version” is misleading; this distinction is stable across UML versions.

Common Pitfalls: Using “method” and “operation” interchangeably; assuming an abstract declaration is a “method” when it is more precisely an operation without a method body.

Final Answer: Incorrect

More Questions from Object-Oriented Data Modeling

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion