Skip to main content

Section 8.1 Worked Example: Writing Classes - Attributes

Subsection 8.1.1 Subgoals for Writing a Class 1/4

  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 class variables (static) as needed ‘

    1. Name

    2. Data Type

    3. public / private / final

  5. Define instance variables (that you want to be interrelated)

    1. Name

    2. Data Type

    3. private

You can watch this video or read through the content below it.

Problem: We will be writing a class to represent an instance of time, like a specific time in the day.

For the first part, determine the appropriate attributes (data) to be stored and declare them

Subsection 8.1.2 SG1: Name it

We will call the class TimeType

Subsection 8.1.3 SG2: Differentiate class-level (static) vs. instance/object-level variables

class-level (static) data: one value shared between ALL instances instance-level data: each instance has its own copy

For time, we want all time instances to be in the same format so static data for format, everything else instance

Subsection 8.1.4 SG3: Differentiate class-level (static) vs. instance/object behaviors/methods

All methods will be instance level as the format will be fixed an unchangeable

Subsection 8.1.5 SG4: Define class variables (static) as needed

public class TimeType {

   public static final boolean FORMAT24 = true;

}

Note the use of the final keyword to define FORMAT24 as a constant, which makes it safe to expose as public. An alternate implementation might choose to make this value mutable, but private, using static methods to ssssssssaccess and alter it.

Subsection 8.1.6 SG5: Define instance variables (that you want to be interrelated)

public class TimeType {

   //static var
   public static final boolean FORMAT24 = true;

   //instance vars
   private int hour;
   private int minute;
   private int second;

}
Figure 8.1.1.

Subsection 8.1.7 Practice Pages

You have attempted of activities on this page.