/**
 * Person class    
 */
public class Person {

	// data members
	private String firstName;
	private String lastName;
	private int age;

	// constructors
	/**
         * Person constructor
	 * @param fn: first name
	 * @param ln: last name
	 * @param age: age in years 
	 */
	Person (String fn, String ln, int age){
    		firstName = fn;
		lastName = ln;
		this.age = age;
	}

	// accessor methods
	public String getFirstName() { return firstName; }
	public String getLastName() { return lastName; }
	public int getAge() { return age; }

	// modifier methods
	protected void setFirstName(String n) { firstName = n; }
	protected void setLastName(String n) { lastName = n; }
	protected void setAge(int a) { age = a; }

	// action methods
	/**
         * Convert a Person to a String
	 * overrides the Object.toString method
         */
	public String toString() {
	    return(firstName + " " + lastName + "\nage = " + age);
	}
}
