zuai-logo
zuai-logo
  1. AP Computer Science A
FlashcardFlashcard
Study GuideStudy GuideQuestion BankQuestion BankGlossaryGlossary

What are the differences between accessor and mutator methods?

Accessor: Retrieves the value of an instance variable. | Mutator: Modifies the value of an instance variable.

Flip to see [answer/question]
Flip to see [answer/question]
Revise later
SpaceTo flip
If confident

All Flashcards

What are the differences between accessor and mutator methods?

Accessor: Retrieves the value of an instance variable. | Mutator: Modifies the value of an instance variable.

Compare a class with only accessor methods vs. a class with only mutator methods.

Accessor-only: Exposes data, read-only. | Mutator-only: Allows modification, no direct data access.

What are the differences between using direct access to instance variables and using mutator methods?

Direct access: Simple, but violates encapsulation. | Mutator methods: Encapsulated, allows validation, more controlled.

Compare the use of void vs. non-void mutator methods.

Void: No return value, modifies only. | Non-void: Can return previous value or status, allows chaining.

What are the differences between immutable and mutable objects?

Immutable: Cannot be changed after creation. | Mutable: Can be changed after creation via mutator methods.

Compare the use of mutator methods with and without validation.

Without validation: Faster, but can lead to invalid state. | With validation: Slower, but ensures data integrity.

What are the differences between public and private mutator methods?

Public: Accessible from anywhere. | Private: Only accessible within the class, used for internal state management.

Compare the use of mutator methods in single-threaded vs. multithreaded environments.

Single-threaded: Simpler, no need for synchronization. | Multithreaded: Requires synchronization to prevent race conditions.

What are the differences between using mutator methods and using reflection to modify object state?

Mutator methods: Safe, controlled access. | Reflection: Powerful, but can bypass encapsulation and lead to unexpected behavior.

Compare the use of mutator methods in procedural vs. object-oriented programming.

Procedural: Less common, data and functions are separate. | Object-oriented: Integral part of encapsulation and object state management.

What is a mutator method?

A method that changes the values of instance variables of an object.

What is another name for mutator methods?

Setter methods.

What does 'void' mean in the context of a method?

The method does not return any value.

What is an immutable class?

A class with no mutator methods, meaning its state cannot be changed after creation.

What is the typical return type of a mutator method?

void

What is the purpose of a parameter in a mutator method?

To provide the new value to which the instance variable will be set.

What is an instance variable?

A variable defined in a class for which every object of the class has its own copy.

What is the difference between accessor and mutator methods?

Accessor methods retrieve the values of instance variables, while mutator methods modify them.

Why might a class not have a mutator method for a specific instance variable?

To prevent clients from changing the data of that instance variable, ensuring data integrity.

What is the signature of a mutator method?

Typically 'public void methodName(DataType parameterName)'

What does the following code output? Student s = new Student(9, "Jane Doe", 14); s.setGradeLevel(10); System.out.println(s.getGradeLevel());

10

Identify the error in the following code: public class Example { private int value; public void setValue() { value = 10; } }

The setValue method requires a parameter to set the value. It should be public void setValue(int newValue).

What does the following code output? Student s = new Student(9, "Jane Doe", 14); s.setName("Jane Smith"); System.out.println(s.getName());

Jane Smith

Complete the following code snippet to create a mutator method for the 'age' instance variable in the Student class: public class Student { private int age; // Complete the mutator method here }

public void setAge(int newAge) { age = newAge; }

What does the following code output? Student s = new Student(10, "Alice", 15); s.setGradeLevel(11); Student t = s; t.setGradeLevel(12); System.out.println(s.getGradeLevel());

12

Identify the error in the following code: public class Student { private String name; public String setName(String newName) { name = newName; } }

The return type of the setName method should be void, not String.

What does the following code output? Student s = new Student(9, "Jane Doe", 14); s.setName(null); System.out.println(s.getName());

null

Complete the following code snippet to add a validation check in the setGradeLevel mutator method: public class Student { private int gradeLevel; public void setGradeLevel(int newGradeLevel) { // Add validation check here } }

if (newGradeLevel >= 9 && newGradeLevel <= 12) { gradeLevel = newGradeLevel; }

What does the following code output? Student s = new Student(10, "Alice", 15); s.setGradeLevel(11); System.out.println(s.toString());

The output will vary depending on the implementation of the toString method in the Student class, but it will include the updated gradeLevel (11) and the student's other attributes.

Identify the potential issue in the following code: public class Student { private String name; public void setName(String newName) { name = newName.trim(); } }

If newName is null, newName.trim() will throw a NullPointerException. A null check should be added before calling trim().