Python类继承简单例子

发布时间:2019-09-11编辑:脚本学堂
本文介绍了python类继承的一个例子,假如需要定义几个类,而类与类之间有一些公共的属性和方法,这时可以把相同的属性和方法作为基类的成员,而特殊的方法及属性则在本类中定义,这样只需要继承基类这个动作,就可以访问到基类的属性和方法了。

有关python类继承:

面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制。继承完全可以理解成类之间的类型和子类型关系。

注意:继承语法   class 派生类名(基类名)://...   基类名写作括号里,基本类是在类定义时,在元组之中指明的。这与c#是有区别的。

何时使用继承:假如需要定义几个类,而类与类之间有一些公共的属性和方法,这时可以把相同的属性和方法作为基类的成员,而特殊的方法及属性则在本类中定义,这样只需要继承基类这个动作,就可以访问到基类的属性和方法了,它提高了代码的可扩展性。

例子,学习下python类继承的实现方法。
 

#! /usr/bin/python  
# Filename: inherit.py  
# Author: yanggang  
# www.jb200.com

class SchoolMember:  
    def __init__(self,name,age):  
        self.name = name  
        self.age = age  
        print 'init SchoolMember: ', self.name  
  
    def tell(self):  
        print 'name:%s; age:%s' % (self.name, self.age)  
  
class Teacher(SchoolMember):  
    def __init__(self,name,age,salary):  
        SchoolMember.__init__(self,name,age)  
        self.salary = salary  
        print 'init Teacher: ', self.name  
  
    def tell(self):  
        SchoolMember.tell(self)  
        print 'salary: ', self.salary  
  
class Student(SchoolMember):  
    def __init__(self,name,age,marks):  
        SchoolMember.__init__(self,name,age)  
        self.marks = marks  
        print 'init Student: ', self.name  
  
    def tell(self):  
        SchoolMember.tell(self)  
        print 'marks: ', self.marks  
  
t = Teacher('yanggang', 20, 1000)  
s = Student('liming', 12, 86)  
members = [t,s]  
  
print  
  
for member in members:  
    member.tell()  

输出结果:
 

[root@jbxue python]$ python inherit.py 
init SchoolMember:  yanggang
init Teacher:  yanggang
init SchoolMember:  liming
init Student:  liming
name:yanggang; age:20
salary:  1000
name:liming; age:12
marks:  86