【python】class之子类
父类:
class AddrBookEntry(object):
"address book entry class"
def __init__(self, nm, ph):
self.name = nm
self.phone = ph
print "created instance for:", self.name
def updatePhone(self, newph):
self.phone = newph
print "updated phone# for:", self.name
子类:
当一个类被派生出来,子类就继承了基类的属性。所以EmplAddrBookEntry继承了AddrBookEntry的updatePhone的方法。子类最好自定义自己的构造器,不然基类的构造器会被调用。如果子类重写了基类的构造器,基类的构造器就不会自动调用,除非被显示声明出来。
class EmplAddrBookEntry(AddrBookEntry):
"employee address book entry class"
def __init__(self, nm, ph, id, em):##重写基类构造器
AddrBookEntry.__init__(self, nm, ph)
self.empid = id
self.email = em
def updateEmail(self, newem):
self.email = newem
print "updated e-mail address for:", self.name
使用子类:
john = EmplAddrBookEntry("john doe","408-555-1212", 42, "john@spam.doe")
created instance for: john doe
>>> john
<__main__.EmplAddrBookEntry object at 0x02115FD0>
>>> john.name
'john doe'
>>> john.phone
'408-555-1212'
>>> john.email
'john@spam.doe'
>>> john.updatePhone("415-555-1212")
updated phone# for: john doe
>>> john.phone
'415-555-1212'
>>> john.updateEmail("john@doe.spam")
updated e-mail address for: john doe
>>> john.email
'john@doe.spam'
【python】class之子类的更多相关文章
- Python 派生类子类继承类
1.创建list类的子类Namedlist,初始化新类,创建新对象实例johnny,检查对象类型,并使用list的一些功能来存储数据 >>> class Namedlist(list ...
- Python父类调用子类
首先说明,上面的标题其实是不正确的,Python是一门解释型.动态数据类型的高级语言,运行时,动态判断调用对象,其实还是子类自己在调用自己的方法或属性. 举个例子(copy过来的):SocketSer ...
- Python如何在子类里扩展父类的property?
<python cookbook>8.8节讨论子类扩展property时,一开始都晕了,思考了半天才勉强弄懂一点,赶快记下来.废话不多说,先上代码: class Person: def _ ...
- python——父类与子类的一些说明
Python中类的初始化方法是__init__(),因此父类.子类的初始化方法都是这个,如果子类不实现__init__()这个函数,初始化时调用父类的初始化函数, 如果子类实现了这个函数,则要在这个函 ...
- Python父类和子类关系/继承
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @File:继承_子类和父类的关系.py @E-mail:364942 ...
- Python - 面向对象编程 - 子类方法的重写
继承的详解 https://www.cnblogs.com/poloyy/p/15216652.html 方法的重写 在子类继承父类时,子类会拥有父类的所有属性和方法 但当父类的方法实现不满足子类需要 ...
- python父类调用子类了解一下
class B(): def __init__(self): pass def start(self): print(self.parse()) class A(B): def __init__(se ...
- Python多类继承中,子类默认继承哪个父类的构造函数__init__
[1]python中如果子类有自己的构造函数,不会自动调用父类的构造函数,如果需要用到父类的构造函数,则需要在子类的构造函数中显式的调用. [2]如果子类没有自己的构造函数,则会直接从父类继承构造函数 ...
- 第7.20节 案例详解:Python抽象类之真实子类
第7.20节 案例详解:Python抽象类之真实子类 上节介绍了Python抽象基类相关概念,并介绍了抽象基类实现真实子类的步骤和语法,本节结合一个案例进一步详细介绍. 一. 案例说明 本节定义 ...
- python知识点总结
此知识要点,是根据学习廖雪峰phthon3.0教程总结的,所以结构基本和这个教程的结构相同. 背景知识 python是什么?(1)python是一门编程语言,意味着可以用python编写程序,完成一定 ...
随机推荐
- learning docker steps(1) ----- docker 安装
docker 安装 参考:https://docs.docker.com/install/linux/docker-ce/ubuntu/ 按如下指令可安装: $ sudo apt-get instal ...
- SQL Server 调优系列基础篇 - 并行运算总结(二)
前言 上一篇文章我们介绍了查看查询计划的并行运行方式. 本篇我们接着分析SQL Server的并行运算. 闲言少叙,直接进入本篇的正题. 技术准备 同前几篇一样,基于SQL Server2008R2版 ...
- POJ 2516 Minimum Cost 最小费用流 难度:1
Minimum Cost Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 13511 Accepted: 4628 Des ...
- 未能加载文件或程序集“Microsoft.Office.Interop.Excel
解决方法:未能加载文件或程序集“Microsoft.Office.Interop.Excel...” 2010-07-25 08:06:15 来源:源码之家 站长整理 [大 中 小] ...
- DevExpress v17.2新版亮点—WPF篇(四)
DevExpress年终击穿底价,单套授权低至67折!仅剩最后6天!查看详情>>> 用户界面套包DevExpress v17.2终于正式发布,本站将以连载的形式为大家介绍各版本新增内 ...
- 【数据库】MFC ODBC(一)
一.动态创建ODBC数据源 ODBC API提供了动态创建数据源的函数SQLConfigDataSource.该函数的原型如下: BOOL SQLConfigDataSource ( HWND hwn ...
- 项目使用Nuget,然后SVN checkout后显示缺少引用
如下图黄色叹号: 解决方案: 1.先生成解决方案 2.执行如下: 这时候Nuget是存在了,但是还是显示缺少引用: 那么最后一步, 输入 :Update-Package -reinstall
- 如何完全卸载 mysql 数据库
有时候MySQL不能完全卸载,这时候必须通过一些途径删除掉注册表和一些残余的文件,然后才能重新安装才可以成功! 1.控制面板——>所有控制面板项——>程序和功能,卸载mysql serve ...
- JVM --- OutOfMemoryError异常
在Java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其他几个运行时区域都有可能发生OutOfMemoryError(OOM)异常. 1.Java堆溢出 Java堆用于存储对象实例,只要不断地创 ...
- Alpha阶段敏捷冲刺---Day4
一.Daily Scrum Meeting照片 二.今天冲刺情况反馈 今天我们上完课后在禹洲楼教室外进行我们的每日立会.开会的内容主要是对昨天遇到的困难做了一些交流,并且定下今天的任务是完成排行榜界面 ...