// Filename Counters/BasicCounter.java. // Root class of the Counters hierarchy providing the // essential counting functionality. // // Written for JFL book Chapter 3. // Fintan Culwin, v0.1, January 1997 // Modified by X. Meng for demonstartion // in classroom. Mostly change 'abstract' // to 'public', change 'protected' to 'public' // jan-31-1998 package Counters; public class BasicCounter { //abstract class BasicCounter { // private int counted = 0; // private int theInitialCount = 0; protected int counted = 0; protected int theInitialCount = 0; // Principal constructor. public BasicCounter( int initialCount) { // protected BasicCounter( int initialCount) { counted = initialCount; theInitialCount = 0; } // End principal constructor. // Default constructor. public BasicCounter() { // protected BasicCounter() { this( 0); } // End default constructor. public void count() { // protected void count() { counted++; } // End count. public void unCount() { // protected void unCount() { counted--; } // end unCount. public void setCountTo( int setTo) { // protected void setCountTo( int setTo) { counted = setTo; } // End setCountTo. public void reset() { counted = theInitialCount; } // End reset. public int numberCountedIs(){ return counted; } // End numberCountedIs. } // end class BasicCounter