Write a program that inputs (from the user) the number of hours worked and hourly rate for employees and outputs the total pay. The program should process an arbitrary number of employees; the user will terminate input by entering 0 hours worked and pay rate. Use a class called worker with:

Attributes: Hours, Rate, Total
Methods: ComputeTotal ( ) and access (SetHours ( ), GetHours ( ),
SetRate ( ), GetRate ( ), and GetTotal( )) for each of the attributes

To solve this problem, I will explain how to write a Python program that uses a Worker class to calculate the total pay for employees based on their hours worked and hourly rate.

Here is the step-by-step explanation:

Step 1: Define the Worker class with the required attributes and methods.
```python
class Worker:
def __init__(self):
self.hours = 0
self.rate = 0
self.total = 0

def set_hours(self, hours):
self.hours = hours

def get_hours(self):
return self.hours

def set_rate(self, rate):
self.rate = rate

def get_rate(self):
return self.rate

def get_total(self):
return self.total

def compute_total(self):
self.total = self.hours * self.rate
```

Step 2: Create a loop to input the hours worked and hourly rate for each employee until the user terminates input by entering 0 hours worked.
```python
workers = []

while True:
hours = float(input("Enter hours worked (0 to terminate): "))
if hours == 0:
break

rate = float(input("Enter hourly rate: "))

worker = Worker()
worker.set_hours(hours)
worker.set_rate(rate)
worker.compute_total()

workers.append(worker)
```

Step 3: Output the total pay for each employee.
```python
for worker in workers:
print(f"Total pay: {worker.get_total()}")
```

And that's it! You now have a Python program that inputs the number of hours worked and hourly rate for employees, calculates the total pay using the Worker class, and outputs the total pay for each employee.