 |
1 |  |  Which of the following best describes an object? |
|  | A) | Part of a software system that is entirely unique. |
|  | B) | A concept, abstraction or thing in an application domain. |
|  | C) | A program that represents something tangible in the problem domain. |
|
|
 |
2 |  |  Which of the following best describes abstraction? |
|  | A) | A representation of something tangible. |
|  | B) | A representation that can be stored in a software system. |
|  | C) | A representation that contains only relevant details. |
|
|
 |
3 |  |  Which of the following is not a reason for modelling objects? |
|  | A) | To produce a design for part of a software system. |
|  | B) | To understand an aspect of the application domain |
|  | C) | To separate data from process. |
|
|
 |
4 |  |  What do all objects have? |
|  | A) | State, behaviour and identity. |
|  | B) | Behaviour, data and identity. |
|  | C) | Instances, structure and similarity. |
|
|
 |
5 |  |  Which of the following best describes object state? |
|  | A) | The particular condition that an object is in at a given moment, determining its possible behaviours. |
|  | B) | Which class the object belongs to. |
|  | C) | The semantics of the object. |
|
|
 |
6 |  |  Which of the following best describes object behaviour? |
|  | A) | What the object is able to do to other objects. |
|  | B) | What the object is able to do for other objects. |
|  | C) | What the object is able to do to itself. |
|
|
 |
7 |  |  Which of the following is a useful set of questions to ask when modelling an object, according to Rebecca Wirfs-Brock? |
|  | A) | Who am I, what can I do and what do I know? |
|  | B) | Where am I, what am I and who do I know? |
|  | C) | What do I have, what can I get and what can I do? |
|
|
 |
8 |  |  Which of the following is not a description of a class? |
|  | A) | A set of objects that share the same behaviour, attributes, relationships and semantics. |
|  | B) | An abstract descriptor for a set of instances with certain logical similarities to each other. |
|  | C) | A set of objects that collaborate together to achieve some common objective. |
|
|
 |
9 |  |  Which of the following best describes the relationship between an object and its class? |
|  | A) | The structure and permitted behaviours of an object are defined by its class. |
|  | B) | A class is a container that holds a collection of similar objects |
|  | C) | An object is an implementation of a class. |
|
|
 |
10 |  |  What is generalization? |
|  | A) | A process of broadening the scope of an object, such that it becomes more generally useful. |
|  | B) | A kind of relationship between a more general element and a more specific element. |
|  | C) | A process of collecting together objects into their respective classes. |
|
|
 |
11 |  |  Which of the following best describes a type? |
|  | A) | A description of a set of objects with similar behaviours. |
|  | B) | A superclass in a generalization hierarchy. |
|  | C) | A class with a characteristic that distinguishes it from all other classes. |
|
|
 |
12 |  |  Which of the following is not an advantage of generalization? |
|  | A) | Generalization helps to organize a model so that the degree of similarity between classes is made more explicit. |
|  | B) | A generalization hierarchy is easy to extend to fit a changing picture. |
|  | C) | Generalization helps to encapsulate classes and subsystems so that their implementation is hidden from other parts of the system. |
|
|
 |
13 |  |  How does generalization differ from inheritance? |
|  | A) | It doesn’t—they are the same thing. |
|  | B) | Inheritance is a mechanism by which some OO languages implement generalization. |
|  | C) | With generalization each class has only one superclass, whereas with inheritance each class has two or more superclasses. |
|
|
 |
14 |  |  Which of the following is not a characteristic of a subclass? |
|  | A) | A subclass can only have superclasses, it cannot have subclasses of its own. |
|  | B) | A subclass inherits all the characteristics of its superclass. |
|  | C) | A subclass includes at least one detail that is not shared by its superclass. |
|
|
 |
15 |  |  What is meant by ‘transitive operation’ in the context of generalization and inheritance? |
|  | A) | An operation in a superclass may be overwritten by a different operation in a subclass. |
|  | B) | An operation in a superclass may not be overwritten by a different operation in a subclass. |
|  | C) | A subclass inherits characteristics from all its superclasses at all levels. |
|
|
 |
16 |  |  What is the significance of message-passing in an OO system? |
|  | A) | Messages represent input from users that tells the software system what to do. |
|  | B) | Objects exchange messages in order to communicate with each other. |
|  | C) | Messages represent output to users that show the results of processing. |
|
|
 |
17 |  |  What is a message protocol or signature? |
|  | A) | A message protocol is a valid sequence of keystrokes by a user. |
|  | B) | A message protocol is a valid sequence of operations in a series of different objects. |
|  | C) | A message protocol is the interface to an operation. |
|
|
 |
18 |  |  What is meant by multiple inheritance? |
|  | A) | Multiple inheritance signifies that a class simultaneously belongs to more than one generalization hierarchy. |
|  | B) | Multiple inheritance signifies that a class has more than one superclass. |
|  | C) | Multiple inheritance signifies that an object can have different superclasses at different times. |
|
|
 |
19 |  |  Which of the following best describes encapsulation? |
|  | A) | The implementation of an object can only be changed by its original programmer. |
|  | B) | Data within an object can only be accessed by passing a valid message to one of its own operations. |
|  | C) | Data within an object can only be accessed by passing a valid message to its class. |
|
|
 |
20 |  |  Which of the following best describes an object’s interface? |
|  | A) | The view that an object presents to users of the system. |
|  | B) | The links that an object has with other objects. |
|  | C) | The complete set of signatures for all the object’s operations. |
|
|
 |
21 |  |  Which of the following best describes polymorphism? |
|  | A) | The capacity of an object to behave in different ways at different times according to its current state. |
|  | B) | The capacity of different objects to respond to a similar message in appropriate but different ways. |
|  | C) | The capacity of an object to send different messages to different objects according to their class. |
|
|
 |
22 |  |  Which of the following is a valid reason why it is difficult to design event-driven software in a procedural manner? |
|  | A) | It is difficult to anticipate and design for all possible sequences of use. |
|  | B) | Procedurally designed programs are not capable of responding quickly to events. |
|  | C) | Procedural programs are only suitable for record-based data structures. |
|
|
 |
23 |  |  Which of the following is not an advantage of modular software design? |
|  | A) | Modular systems are typically more reliable in use. |
|  | B) | Modular systems can be implemented in small, manageable chunks. |
|  | C) | Modular systems are independent of the operating system that they run on. |
|
|