Skip to Content
Python语言及其应用(第2版)
book

Python语言及其应用(第2版)

by Bill Lubanovic
March 2022
Intermediate to advanced
522 pages
13h 52m
Chinese
Posts & Telecom Press
Content preview from Python语言及其应用(第2版)
148
10
记住,在
Cat
类定义
内部
,使用
self.name
访问
name
特性。当你创建好实际对象并将其赋
给变量(如
furball
)之后,就可以使用
furball.name
来引用该特性了。
并不是说每个类定义中都必须有
__init__()
方法,它用于将该对象与同类的其他对象区分
开。
__init__()
并不是其他语言中的“构造函数”。
Python
已经替你把对象构造好了。不
妨将其视为
初始化函数
initializer
)。
可以从单个类中生成多个对象。但是要记住,因为
Python
是以对象的形式实
现数据的,所以类本身也是对象。然而,程序中只能有一个类对象。如果你
像我们这样定义了
class Cat
,那么它就如同《高地人》中那样——只能有
一个。
3
10.3
继承
当你尝试解决一些编码问题时,经常会发现由某个现成的类所创建的对象能够满足大部分
需求。你能做些什么呢?
可以修改这个已有的类,但这会使其变得更加复杂,有可能弄巧成拙。
也可以写一个全新的类,加入从旧类中复制过来的代码。但这意味着要维护的代码更多
了,而且新类和旧类中实现同样功能的代码被分散在了不同的地方。
一种解决方法是
继承
:从现有类创建新类,同时根据需要做一些改动。这是重用代码的
一种好方法。当你使用继承时,新类会自动使用旧类的所有代码,无须自己动手复制任
何内容。
10.3.1
从父类继承
在新类中,如果只定义需要添加或修改的地方,则会覆盖旧类的行为。原始类被称为
超类
基类
;新类被称为
子类
次类
派生类
。这些术语在面向对象编程中可以交换
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Python编程入门与实战

Python编程入门与实战

Posts & Telecom Press, Fabrizio Romano
Python实用技能学习指南

Python实用技能学习指南

Posts & Telecom Press, Robert Smallshire, Austin Bingham
Python技术基础视频教程

Python技术基础视频教程

保罗·J·戴特尔
Python面向对象编程指南

Python面向对象编程指南

Posts & Telecom Press, Steven F. Lott

Publisher Resources

ISBN: 9787115586223