Advantages of being Object Oriented - Quiz Explanation

The answers you selected are indicated below, along with the text that explains the correct answers.
 
1. Which of the following statements best describes how using an object-oriented approach to design makes it easier for a team of developers/programmers to work together on a project?
Please select the best answer.
  A. Some developers will work exclusively on data structure within all classes, and others will work exclusively on the functions for all classes.
  B. Each individual class in the system must be defined by a different developer during the design phase.
  C. Programmers will not have to spend as much time discussing how a proposed change to one class affects their own classes.
  D. Design of the project will always take less time than if the procedural approach is used.
  The correct answers is C.Changes to the private implementation of a class are guaranteed not to break code in other classes. A is incorrect because each class combines both data and functions, so every programmer will work on both. B is incorrect because there is no requirement in the object-oriented approach for having a different programmer work on each different class. D is incorrect because object-oriented design often takes longer than procedural design; time is saved in the coding stage.

2. Which of the following statements best represents the way in which OOP affects programmers' ability to reuse code?
Please select the best answer.
  A. OOP frees programmers from having to remember which instructions or data constraints to apply to the reused code.
  B. OOP makes programs shorter so that it's easier to find the parts that can be reused.
  C. OOP assists the development process by requiring as thorough a testing of the reused class as when the class was originally used.
  D. OOP guarantees that reused classes are always reused in their entirety.
  The correct answer is A.
An object-oriented approach builds the rules right into the code, so there's no need to remember as much. B is incorrect because object-oriented programs are not always shorter. C is incorrect because object-oriented development separates code into small modules of functionality and introduces far fewer bugs than procedural cut-and-paste reuse. D is incorrect because classes can be reused as subclasses, keeping those parts that are still useful and replacing those that are not.

3. Which of the following reasons best explains how designing in terms of objects makes analysis simpler?
Please select the best answer.
  A. Class names are easier for users to remember, so they tell you what the functions should be.
  B. Developers and programmers can reduce each class to a single data type that is best suited for its use in the system.
  C. Breaking the system into pieces means there will be fewer variables and therefore fewer analysis decisions.
  D. You can design objects as employees or paychecks rather than collections of data pieces.
  The correct answer is D .
OOP allows programmers to create their own data types that more closely match the real-world problem they are trying to solve. A is incorrect because, although users will understand the design you show them and perhaps have helpful comments, they will not be developing classes for the programmers. B is incorrect because it is exactly opposite of the ability of object-oriented design to compose classes that use multiple data types. C is incorrect because there will be just as many decisions in an object-oriented analysis and design.