Skip to main content

Section 9.4 WrClasses-WE2-P1

Subgoals for Writing a Class.

  1. Name it
  2. Differentiate class-level static vs. instance/object-level variables
  3. Differentiate class-level static vs. instance/object behaviors/methods
  4. Define instance variables (that you want to be interrelated)
    1. Name
    2. Data Type
    3. private
  5. Define class variables static as needed
    1. Name
    2. Data Type
    3. public / private / final
  6. Create constructor (behavior) that creates initial state of object
    1. Overloaded constructor (with as many parameters)
    2. public
    3. Same name as class
    4. No return type
    5. Default - no parameters
    6. Logic - initialize all variables
    7. Repeat as needed, adding parameters
  7. Create 1 accessor and 1 mutator behaviors per attribute
    1. Accessors
      1. Name is get_<attr_name>
      2. Public
      3. Return type same data type as attribute
      4. No parameters
      5. Logic - return value
    2. Mutators
      1. Name is set_<attr_name>
      2. Public
      3. Return type is void
      4. Parameter is same data type as attribute
      5. Logic validates input parameter and sets attribute value
  8. Write toString method
    1. public
    2. Returns String
    3. No parameters
    4. Logic - convert needed attributes to a format that can be printed
  9. Write equals method
    1. public
    2. Returns boolean
    3. Parameter - instance of the class
    4. Logic - compare attributes for equity
  10. Create additional methods as needed

Subsection 9.4.1

Consider the SongType class you began in an earlier exercise, as illustrated in the following UML diagram.
Figure 9.4.1.

Exercises Exercises

1.
Q9: Put the code in the right order to complete the default constructor.
2.
Q10: Put the code in the right order to complete the specific overloaded constructor.
3.
    Q11: Which of the following is NOT true about constructors?
  • Constructors must be named the same name as the class
  • Default constructors have no parameters
  • Classes can only have a single constructor
  • Constructors must be public
  • Constructors have no return type, not even void
4.
    Q12: Two constructors are shown for the Point class below. Is this code valid?
    public class Point {
       private int x;
       private int y;
    
       public Point (int one, int two) {/*LOGIC*/}
       public Point (int a, int b) {/*LOGIC*/}
    }
    
  • valid
  • invalid
  • cannot be determined
You have attempted of activities on this page.