继承:类之间的类型和子类型关系

代码重用:SchoolMember类被称为 基本类或超类,而Teacher和Student类被称为导出类或者子类

  1. #!/usr/bin/python
  2. #Filename:Inherit.py
  3.  
  4. class SchoolMember:
  5. 'Represents any school member.'
  6. def __init__(self,name,age):
  7. self.name = name
  8. self.age = age
  9. print '(Initialized SchoolMember:%s)' %self.name
  10.  
  11. def tell(self):
  12. 'Tell my details.'
  13. print 'Name:"%s" Age:"%s"'%(self.name,self.age)
  14.  
  15. class Teacher(SchoolMember):
  16. 'Represents a teacher.'
  17. def __init__(self,name,age,salary):
  18. SchoolMember.__init__(self,name,age)
  19. self.salary = salary
  20. print '(Initialized Teacher:%s)' %self.name
  21.  
  22. def tell(self):
  23. SchoolMember.tell(self)
  24. print 'Salary: "%d"'%self.salary
  25.  
  26. class Student(SchoolMember):
  27. 'Represents a student.'
  28. def __init__(self,name,age,marks):
  29. SchoolMember.__init__(self,name,age)
  30. self.marks=marks
  31. print '(Initialized Student:%s)'%self.name
  32.  
  33. def tell(self):
  34. SchoolMember.tell(self)
  35. print 'Marks:"%d"'%self.marks
  36.  
  37. t=Teacher('Mrs.Shrividya',,)
  38. s=Student('Swaroop',,)
  39.  
  40. print #prints a blank line
  41.  
  42. members = [t,s]
  43. for member in members:
  44. member.tell()

结果:

  1. (Initialized SchoolMember:Mrs.Shrividya)
  2. (Initialized Teacher:Mrs.Shrividya)
  3. (Initialized SchoolMember:Swaroop)
  4. (Initialized Student:Swaroop)
  5.  
  6. Name:"Mrs.Shrividya" Age:""
  7. Salary: ""
  8. Name:"Swaroop" Age:""
  9. Marks:""

注意:为了使用继承,把基本类的名称作为一个元组跟在定义类时的类名称之后。

基本类的__init__方法专门使用self变量调用,这样我们就可以初始化对象的基本类部分。

记住:python不会自动调用基本类的constructor,需要亲自专门调用它。

简明python教程七----面向对象的编程(下)的更多相关文章

  1. 简明python教程七----面向对象的编程

    根据操作数据的函数或语句块来设计程序的,被称为面向过程的编程. 把数据和功能结合起来,用称为对象的东西包裹起来的组织程序的方法,称为面向对象的编程理念. 类和对象是面向对象编程的两个主要方面.类创建一 ...

  2. 笔记|《简明Python教程》:编程小白的第一本python入门书

    <简明Python教程>这本书是初级的Python入门教材,初级内容基本覆盖,对高级内容没有做深入纠结.适合刚接触Python的新手,行文比较简洁轻松,读起来也比较顺畅. 下面是我根据各个 ...

  3. 《简明python教程》笔记一

    读<简明Python教程>笔记: 本书的官方网站是www.byteofpython.info  安装就不说了,网上很多,这里就记录下我在安装时的问题,首先到python官网下载,选好安装路 ...

  4. (原+转)简明 Python 教程:总结

     简明 Python 教程 说明:本文只是对<简明Python教程>的一个总结.请搜索该书查看真正的教程. 第3章 最初的步骤 1. Python是大小写敏感的. 2. 在#符号右面的内容 ...

  5. python学习(一)—简明python教程

    2016-04-12 15:59:47 1. 介绍2. 安装Python3. 最初的步骤4. 基本概念5. 运算符与表达式6. 控制流7. 函数8. 模块9. 数据结构10. 解决问题——编写一个Py ...

  6. 【转】简明 Python 教程

    原文网址:http://woodpecker.org.cn/abyteofpython_cn/chinese/ 简明 Python 教程Swaroop, C. H. 著沈洁元  译www.byteof ...

  7. 学习笔记《简明python教程》

    学习笔记<简明python教程> 体会:言简意赅,很适合新手入门 2018年3月14日21:45:59 1.global 语句 在不使用 global 语句的情况下,不可能为一个定义于函数 ...

  8. 《简明Python教程》学习笔记

    <简明Python教程>是网上比较好的一个Python入门级教程,尽管版本比较老旧,但是其中的基本讲解还是很有实力的. Ch2–安装Python:下载安装完成后,在系统的环境变量里,在Pa ...

  9. 简明Python教程 ~ 随书笔记

    本文是阅读<简明Python教程>所做的随书笔记,主要是记录一些自己不熟悉的用法,或者所看到的比较有意思的内容,本书英文版A Byte of Python, 中文译版 简明Python教程 ...

随机推荐

  1. 小型web服务器thttpd的学习总结(下)

    1.主函数模块分析 对于主函数而言,概括来说主要做了三点内容,也就是初始化系统,进行系统大循环,退出系统.下面主要简单阐述下在这三个部分,又做了哪些工作呢. 初始化系统 拿出程序的名字(argv[0] ...

  2. [CB2]start up

    1.更新源 From:http://cubie.cc/forum.php?mod=viewthread&tid=3054&extra= sudo emacs 打开/etc/apt/so ...

  3. HTML DOM和BOM常用操作总结

     JavaScript Code  1234567891011121314151617181920212223242526272829303132333435363738394041424344454 ...

  4. Docker入门与应用系列(九)图形界面管理之Portainer

    介绍 Portainer是一个开源.轻量级Docker管理用户界面,基于Docker API,可管理Docker主机或Swarm集群,支持最新版Docker和Swarm模式.官方文档https://p ...

  5. vue-infinite-scroll 自动加载

    初次上手vue开发 笑话百出,各种麻爪 在实现上拉加载的时候用的是mint-ui里面的 infinite-scroll 结果在使用的时候不停的自动加载,后来查询了相关资料 原来是控件识别只要没有铺满全 ...

  6. django用户认证系统——拓展 User 模型2

    Django 用户认证系统提供了一个内置的 User 对象,用于记录用户的用户名,密码等个人信息.对于 Django 内置的 User 模型, 仅包含以下一些主要的属性: username,即用户名 ...

  7. Asynchronous calls and remote callbacks using Lingo Spring Remoting

    http://www.jroller.com/sjivan/entry/asynchronous_calls_and_callbacks_using Asynchronous calls and re ...

  8. Eclipse修改背景颜色

    windows->peferences->General->Editors->Text EditorAppearance color options:选择Background ...

  9. hdu4691(后缀数组)

    算是后缀数组的入门题吧. 思路无比简单,要是直接套模板的话应该很容易秒掉. 关于后缀数组看高中神犇的论文就可以学会了 算法合集之<后缀数组——处理字符串的有力工具> 话说这题暴力是可以过了 ...

  10. 获取TXT文件,解决读取TXT乱码问题,查找所输入字是否在TXT文件中,

    /// <summary> /// 查看是否存在 /// </summary> /// <param name="str"></param ...