Question 3
Consider the following Python code:
class Employee:
def __init__(self, name):
self.name = name
self.role = "Employee"
def show_details(self):
print(f"{self.name} works as {self.role}")
class Developer(Employee):
def __init__(self, name):
super().__init__(name)
self.role = "Developer"
def show_details(self):
print(f"{self.name} writes code as a {self.role}")
super().show_details()
class Manager(Employee):
def __init__(self, name):
super().__init__(name)
self.role = "Manager"
def show_details(self):
print(f"{self.name} manages tasks as a {self.role}")
super().show_details()
employees = [
Developer("Ananya"),
Manager("Rajeev"),
Developer("Kiran")
]
for emp in employees:
emp.show_details()
What will be the output of the code above?
Ananya writes code as a Developer
Ananya works as Developer
Rajeev manages tasks as a Manager
Rajeev works as Manager
Kiran writes code as a Developer
Kiran works as DeveloperAnanya writes code as a Developer
Ananya works as Employee
Rajeev manages tasks as a Manager
Rajeev works as Employee
Kiran writes code as a Developer
Kiran works as EmployeeAnanya works as Developer
Rajeev works as Manager
Kiran works as DeveloperDeveloper
Employee
Manager
Employee
Developer
Employee