Skip to content

Instantly share code, notes, and snippets.

@chaewonkong
Created December 4, 2017 11:42
Show Gist options
  • Select an option

  • Save chaewonkong/d9a510ecbae39d4f052fde0e9eaf6cbd to your computer and use it in GitHub Desktop.

Select an option

Save chaewonkong/d9a510ecbae39d4f052fde0e9eaf6cbd to your computer and use it in GitHub Desktop.
Training for Class and Inheritance
'''Class and inheritance
base class = SchoolMember
sub classes = Teacher, Student
'''
class SchoolMember:
'''Represents any school member.'''
def __init__(self, name, age):
self.name = name
self.age = age
print('(initialized SchoolMember: {})'.format(self.name))
def tell(self):
'''Tell my details.'''
print('Name: "{}" Age: "{}"'.format(self.name, self.age))
class Teacher(SchoolMember):
'''Represents a teacher'''
def __init__(self, name, age, salary):
SchoolMember.__init__(self, name, age)
self.salary = salary
print('(Initialized Teacher: {})'.format(self.name))
def tell(self):
SchoolMember.tell(self)
print('Salary: "{:d}"'.format(self.salary))
class Student(SchoolMember):
'''Represents a student'''
def __init__(self, name, age, marks):
SchoolMember.__init__(self, name, age)
self.marks = marks
print('(Initialized Student: {})'.format(self.name))
def tell(self):
SchoolMember.tell(self)
print('Marks: "{:d}"'.format(self.marks))
t = Teacher('Mrs. Shrividya', 40, 30000)
s = Student('ChaewonKong', 25, 75)
#prints a blank line
print()
members = [t, s]
for member in members:
#Works for both Teachers and Students
member.tell()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment