oop_subclass.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. class SchoolMember:
  2. '''Represents any school member.'''
  3. def __init__(self, name, age):
  4. self.name = name
  5. self.age = age
  6. print('(Initialized SchoolMember: {})'.format(self.name))
  7. def tell(self):
  8. '''Tell my details.'''
  9. print('Name:"{}" Age:"{}"'.format(self.name, self.age), end=" ")
  10. class Teacher(SchoolMember):
  11. '''Represents a teacher.'''
  12. def __init__(self, name, age, salary):
  13. SchoolMember.__init__(self, name, age)
  14. self.salary = salary
  15. print('(Initialized Teacher: {})'.format(self.name))
  16. def tell(self):
  17. SchoolMember.tell(self)
  18. print('Salary: "{:d}"'.format(self.salary))
  19. class Student(SchoolMember):
  20. '''Represents a student.'''
  21. def __init__(self, name, age, marks):
  22. SchoolMember.__init__(self, name, age)
  23. self.marks = marks
  24. print('(Initialized Student: {})'.format(self.name))
  25. def tell(self):
  26. SchoolMember.tell(self)
  27. print('Marks: "{:d}"'.format(self.marks))
  28. t = Teacher('Mrs. Shrividya', 40, 30000)
  29. s = Student('Swaroop', 25, 75)
  30. # prints a blank line
  31. print()
  32. members = [t, s]
  33. for member in members:
  34. # Works for both Teachers and Students
  35. member.tell()