- or -
Would Encapsulation by Any Other Name Smell As Sweet?
CS 3371 - January 24
You may use an answer more than once or not at all.
A specification of a module should describe its ________ and ________ features.
Interfaces in current programming languages deal well with the ________ aspects of module dependencies, but not with their ________ aspects.
Software developers also refer to module dependency as ________.
Software developers use ________ to let the clients of a module ignore the module's implementation details, and ________ to prevent clients from knowing about them.
The values of the ________ of an object represent its state.
A class usually includes ________ in its public interface, but ________ only in its private interface.
Object-oriented design adds to object-based design the use of ________.
Current O-O programming languages may dynamically bind messages to code at ________ time.
An object of a ________ should be usable anywhere an object of its ________ can be used.
Naming an object is one way to represent its ________.
Choices:
Semantic
Methods
Coupling
Subclass
Compile
Identity
Encapsulation
Inheritance
Superclass
Behavior
Attributes
Run
Cohesion
Syntactic
Abstraction
Prototype
Key
8 - 10 correct: Good job.
Fewer than eight correct: Shame on you!
A specification of a module should describe its semantic and syntactic features.
Interfaces in current programming languages deal well with the syntactic aspects of module dependencies, but not with their semantic aspects.
Software developers also refer to module dependency as coupling.
Software developers use abstraction to let the clients of a module ignore the module's implementation details, and encapsulation to prevent clients from knowing about them.
The values of the attributes of an object represent its state.
A class usually includes methods in its public interface, but attributes only in its private interface.
Object-oriented design adds to object-based design the use of inheritance.
Current O-O programming languages may dynamically bind messages to code at run time.
An object of a subclass should be usable anywhere an object of its superclass can be used.
Naming an object is one way to represent its identity.