Untitled

 avatar
unknown
python
a year ago
846 B
31
Indexable
class Employee:
    def __init__(self, id, name, role):
        self.id = id
        self.name = name
        self.role = role

    def calculate_pay(self):
        if self.role == 'developer':
            return 5000
        elif self.role == 'manager':
            return 8000
        else:
            return 3000

    def save(self):
        with open(f'{self.id}.txt', 'w') as f:
            f.write(f'ID: {self.id}, Name: {self.name}, Role: {self.role}')


class EmployeeReport:
    def __init__(self, employee):
        self.employee = employee

    def report(self):
        print(f'Report for {self.employee.name}, Role: {self.employee.role}, Pay: {self.employee.calculate_pay()}')

# Usage example
e1 = Employee(1, 'Alice', 'developer')
e2 = Employee(2, 'Bob', 'manager')
e1.save()
e2.save()
report = EmployeeReport(e1)
report.report()
Editor is loading...
Leave a Comment