/**
 * Patient is a simple class that was shown off in class.  The methods are really nothing
 * more than getters/setters, though not everything is named in the traditional way.
 *
 * Walker White
 * January 26, 2012
 */
public class Patient {
 
  /** Textual information about this patient */
  public String name;
  public String address;
  
  /** Outstanding balance for this patient */
  public double owes;

  
  /** 
    * Constructor:  a nameless patient owing nothing. 
    * Precondition: None
    */
  public Patient() {
    name    = "";
    address = "";
    owes = 0.0;
  }
  
  /** 
    * Constructor:  a new patient owing nothing. 
    * Precondition: None
    */
  public Patient(String n, String a) {
    name    = n;
    address = a;  
    owes = 0.0;  
  }
  
  /** Return: this Patient's name */
  public String getName() {
    return name;
  }

  /** Assigns value to field name */
  public void setName(String value) {
    name = value;
  }

  /** Return: this Patient's address */
  public String getAddress() {
    return address;
  }

  /** Assigns value to field name */
  public void setAddress(String value) {
    address = value;
  }

  /** Return: this Patient's balance */
  public double getOwes() {
    return owes;
  }

  /** Adds charges to this Patient's bill */
  public void charge(double amount) {
    owes = owes + amount;
  }

  /** Pays off this Patient's bill */
  public void pay(double amount) {
    owes = owes - amount;
  }

}