// -----------------------------------------------------------
// Cat.java
//
// File Revision Date: 08/15/05
// -----------------------------------------------------------

public class Cat {
  private String name;                  // Instance variable

  public Cat () {                       // Default constructor

    name = "";
  }

  public Cat (String name) {            // Another constructor
    this.name = name;
  }

  public void setName (String name) {   // Instance methods...
  {
    this.name = name;
  }

  public String getName () {
    return name;
  }

  public void meow () {
    System.out.println ("Meow!");
  }

  public void hiss () {
    System.out.println ("Hiss!");
  }

  public void scratch (Dog dog) {
    System.out.println ("Rippp!!!");
    dog.beenScratchedBy (this);
  }

  public void beenBitBy (Dog dog) {
    hiss ();
    scratch (dog);
  }
}
