您的位置:首页 > 编程语言 > Python开发

Python面向对象——继承 实例

2018-02-06 20:54 399 查看
# coding=UTF-8

class SchoolMember:
'''SchoolMember是基类,代表任何学校里的成员。'''
def __init__(self, name, age):
#定义类的字段
self.name = name
self.age = age
print('(Initialized SchoolMember: {})'.format(self.name))
def tell(self):
'''告诉我有关学校成员的细节。'''
print('Name:"{}" Age:"{}"'.format(self.name, self.age), end=" ")

class Teacher(SchoolMember):
'''Teacher代表一位老师,继承了基类SchoolMember。'''
def __init__(self, name, age, salary):
#调用基类的构造函数,继承类的字段
SchoolMember.__init__(self,name, age)
#子类的字段
self.salary = salary
print('(InitializedTeacher: {})'.format(self.name))

def tell(self):
SchoolMember.tell(self)
print('Salary: "{:d}"'.format(self.salary))

class Student(SchoolMember):
'''代表一位学生。'''
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('Swaroop', 25, 75)
# 打印一行空白行
print()
members	= [t, s]
for member in members:
# 对全体师生工作,调用子类的tell()方法
member.tell()
运行结果

>>>
==== RESTART: F:\oop_subclass.py ====
(Initialized SchoolMember: Mrs. Shrividya)
(Initialized	Teacher: Mrs. Shrividya)
(Initialized SchoolMember: Swaroop)
(Initialized	Student: Swaroop)

Name:"Mrs. Shrividya" Age:"40" Salary: "30000"
Name:"Swaroop" Age:"25" Marks: "75"
>>>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python