WEB开发网
开发学院软件开发Python 简明 Python 教程 -- 第11章 面向对象的编程 阅读

简明 Python 教程 -- 第11章 面向对象的编程

 2007-03-29 11:51:31 来源:WEB开发网   
核心提示: 另外,我们会发现在 重用 父类的代码的时候,简明 Python 教程 -- 第11章 面向对象的编程(7),我们无需在不同的类中重复它,而如果我们使用独立的类的话,而Teacher和Student类被称为 导出类 或 子类 ,现在,我们就不得不这么做了,在上述的场合中

另外,我们会发现在 重用 父类的代码的时候,我们无需在不同的类中重复它。而如果我们使用独立的类的话,我们就不得不这么做了。

在上述的场合中,SchoolMember类被称为 基本类 或 超类 。而Teacher和Student类被称为 导出类 或 子类 。

现在,我们将学习一个例子程序。

使用继承

例11.5 使用继承

#!/usr/bin/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 tell(self):
    '''Tell my details.'''
    print 'Name:"%s" Age:"%s"' % (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: %s)' % self.name
  def tell(self):
    SchoolMember.tell(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 tell(self):
    SchoolMember.tell(self)
    print 'Marks: "%d"' % self.marks
t = Teacher('Mrs. Shrividya', 40, 30000)
s = Student('Swaroop', 22, 75)
print # prints a blank line
members = [t, s]
for member in members:
  member.tell() # works for both Teachers and Students

(源文件:code/inherit.py)

上一页  2 3 4 5 6 7 8  下一页

Tags:简明 Python 教程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接