/** A person has a first and last name. */
public class Person {
	private String firstName;
	private String lastName;
	
	/** create a person with the given first and last names.
	 *
	 * precondition: neither first nor last contain the ' ' character.
	 */
	public Person(String firstName, String lastName) {
		assert !firstName.contains(" ");
		assert !lastName.contains(" ");

		this.firstName = firstName;
		this.lastName  = lastName;
	}

	public Person() {
		this.firstName = "john";
		this.lastName  = "doe";
	}

	public String getName() {
		return this.firstName + ' ' + this.lastName;
	}
}

/** A PhD is a person with a graduation year. */
class PhD extends Person {
	private int graduationYear; // in 0..2016
}
