• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Dan's exam: Mutator method

 
Ranch Hand
Posts: 787
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Which of the following are true statements?
a. A top-level class can not be called "tightly encapsulated" unless it is declared private.
b. Encapsulation enhances the maintainability of the code.
c. A tightly encapsulated class allows fast public access to member fields.
d. A tightly encapsulated class allows access to data only through accessor and mutator methods.
e. Encapsulation usually reduces the size of the code.
f. A tightly encapsulated class might have mutator methods that validate data before it is loaded into the internal data model.


What is mutator method? If it refers to manupulation of class data members, then it is not appropriate for data access. Therefore d should be not correct.....
 
Ranch Hand
Posts: 1873
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi
"mutation" means "alteration"/change. So, mutator methods means, methods that allows modification of objects. In java layman terms it would be "setter" methods.
Also, you might be aware of the fact that "String" is an immutable object. We can't change string. Every operation results into "new" string object created.
Hope this helps.
Maulin
 
Author
Posts: 66
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Accessor methods access the state of an object by returning either the value of an instance variable or a value derived from the value of an instance variable (such as a formatted date). They typically are named getWhatever(). Mutator methods change the state of an object by assigning values to instance variables. They are typically named setWhatever(). Be careful, however, the notion of declaring public accessor and mutator methods for all of the instance variables in a class was one of the early misconceptions about how to declare a class in object-oriented prpgramming languages. Classes should implement behaviour and automatically declaring accessor and mutator methods for all of the instance variables in a class effectively breaks encapsulation.
Methods that appear to be mutator methods but in fact return a new instance of an immutable class are what I call the Would-Be Mutator design pattern, which is a proven programming technic for the design of immutable classes. IT SHOULD NOT BE CONFUSED WITH MAKING DEFENSIVE COPIES, however. No less than Joshua Bloch does this in Effective Java. Making defensive copies is a programming technic that is absolutely necessary in order to encapsulate references to mutable objects. These are two very different motivations.
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic