fork download
  1. from abc import *
  2.  
  3. class SchoolMember(metaclass=ABCMeta):
  4.  
  5. def __init__(self,name,age):
  6. self.name = name
  7. self.age = age
  8. print('(Создан SchoolMember: {0})'.format(self.name))
  9.  
  10. @abstractmethod
  11. def tell(self):
  12. print('Имя:" {0}" Возраст:"'.format(self.name, self.age), end = ' ')
  13.  
  14. class Teacher(SchoolMember):
  15.  
  16. def __init__(self, name, age, salary):
  17. SchoolMember.__init__(self, name, age)
  18. self.salary = salary
  19. print('(Создан Teacher: {0}'.format(self.name))
  20.  
  21. def tell(self):
  22. SchoolMember.tell(self)
  23. print('Зарплата: "{0:d}"'.format(self.salary))
  24.  
  25. class Student(SchoolMember):
  26.  
  27. def __init__(self, name, age, marks):
  28. SchoolMember.__init__(self, name, age)
  29. self.marks = marks
  30. print('(Создан Student: {0}'.format(self.name))
  31.  
  32. def tell(self):
  33. SchoolMember.tell(self)
  34. print('Оценки: "{0:d}"'.format(self.marks))
  35.  
  36. t = Teacher('Mrs.Shrividya', 40, 30000)
  37. s = Student('Swaroop', 25, 75)
  38. # создание объекта класса SchoolMember приведет к ошибке
  39.  
  40. print()
  41.  
  42. members = [t,s]
  43. for member in members:
  44. member.tell()
  45.  
Success #stdin #stdout 0.02s 9304KB
stdin
Standard input is empty
stdout
(Создан SchoolMember: Mrs.Shrividya)
(Создан Teacher: Mrs.Shrividya
(Создан SchoolMember: Swaroop)
(Создан Student: Swaroop

Имя:" Mrs.Shrividya" Возраст:" Зарплата: "30000"
Имя:" Swaroop" Возраст:" Оценки: "75"