Python面向对象编程:概念、实践与优势
1. 面向对象编程基础
1.1 类树与 self
参数
在Python的面向对象编程(OOP)中, self
参数是一个关键概念。它自动引用正在处理的实例,也就是方法调用的主体。由于类树中的所有对象都是命名空间对象,我们可以通过合适的名称来获取或设置它们的属性。例如,只要 C1
和 I1
在代码的作用域内, C1.setname
和 I1.setname
都是有效的。
1.2 运算符重载
当前代码中, C1
类在调用 setname
方法之前不会为实例附加 name
属性。若在调用 I1.setname
之前引用 I1.name
,会产生未定义名称的错误。为确保实例中始终设置 name
属性,通常会在构造时填充该属性,示例代码如下:
class C2: ... # 定义超类对象
class C3: ...
class C1(C2, C3):
def __init__(self, who): # 构造时设置名称
self.name = who # self可以是I1或I2
I1 = C1('