Group Works:  (Note: All the problems are copied from our textbook.)
There are three groups of students.  Every group has the same problem sets.
We need each group make a presentation.
Group 1:  Mandela, Michael, Jeremie
Group 2:  Cory, Kiva, Curtis
Group 3:  Eliot, Antonio, Derrion

I. Discuss Problems: 

1. What is the interface of a class?  How does it differ from the implementation of a class?

2. What is encapsulation?  Why is it useful?

3. Instance variables are a part of the hidden implementation of a class, but they aren't actually hidden from programmers who have the source code of the class.  Explain to what extent the private reserved word provides information hiding.

4. What is the this reference? Why would you use it?

5. What does the following method do?  Give an example of how you can call the method.

public class BankAccount
{
    public void mystery(BankAccount that, double amount)
    {
        this.balance = this.balance - amount;
        that.balance = that.balance + amount;
    }
    ... //Other bank account methods
}

II. Hands-on problem:

Implement a class Employee.  An employee has a name (a string) and a salary (a double).

Provide a constructor with two parameters
        public Employee(String employeeName, double currentSalary)

and methods

      public String getName()
      public double getSalary()
      public void raiseSalary(double byPercent)

These methods return the name and salary, and raise the employee's salary by a certain percentage.

Sample usage:

     Employee harry = new Employee("Hacker, Harry", 50000);
     harry.raiseSalary(10); //Harry gets a 10% raise

Supply an EmployeeTester class that tests all methods.