Python面向对象编程入门
1. 类与实例
在Python模型中,类和实例虽然严格来说是两种不同类型的对象,但它们在类树中的表现非常相似。它们的主要目的都是作为一种命名空间,即变量的集合,并且可以添加属性。
类和模块有相似之处,但也存在明显区别。类就像是生成实例的工厂,例如在实际应用中,我们可以定义一个 Employee 类来表示员工,然后从这个类生成具体的员工实例。而一个模块在内存中通常只有一个实例,如果要获取更新后的代码,需要重新加载模块;但对于类,我们可以创建任意数量的实例。
从功能角度看,类通常包含函数(如计算工资的 computeSalary 函数),而实例则包含类函数使用的基本数据元素(如表示工作小时数的 hoursWorked 变量)。实际上,面向对象模型与传统的数据处理模型(程序和记录)并没有太大区别,只是面向对象编程增加了继承层次的概念,能更好地满足程序定制需求。
2. 类方法的调用
在Python中,当我们引用实例的属性时,会通过继承查找过程将其转换为相应类的属性。例如,在示例类树中,引用 I2.w 会被转换为 C3.w 。同样重要的是理解当我们尝试调用类方法(即作为属性附加到类的函数)时会发生什么。
如果 I2.w 是一个函数调用,实际上意味着“调用函数 C3.w ,并让它处理 I2 ”。因此,Python会自动将 I2.w()
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



