繼承

#!/usr/bin/env python
# Filename: inherit.py
class SchoolMember:
    '''Represents any school member.'''
    def __init__(self, name, age):
        self.name = name
        self.age = age
        print('Initialized SchoolMember: %s' % self.name)
    def details(self):
        '''Tell my details.'''
        print('Name: "%s"\nAge: "%d"' %(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 Techer: %s)' % self.name)
    def details(self):
        SchoolMember.details(self)
        print('Salary: "%d"' % 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: %s)' % self.name)
    def details(self):
        SchoolMember.details(self)
        print('Marks: "%d"' % self.marks)
t = Teacher('Mrs. Li', 40, 30000)
s = Student('Xiao ming', 22, 90)
print() # prints a blank line
members = [t, s]
for m in members:
    m.details() # works for both teachers and students
    print() # prints a blank line

輸出結果:

Initialized SchoolMember: Mrs. Li
(Initialized Techer: Mrs. Li)
Initialized SchoolMember: Xiao ming
(Initialized Student: Xiao ming)

Name: "Mrs. Li"
Age: "40"
Salary: "30000"

Name: "Xiao ming"
Age: "22"
Marks: "90"
這是:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章