你好,我是 somenzz,可以叫我征哥。
本文写给初学 Python 的朋友,试图讲明白以下问题:
0、什么是类和对象?
1、即然有了函数,为什么还要有类?
2、Python 如何定义 公有/保护/私有 属性/方法?私有是否是真正的私有,这样做的目的是什么?
3、如何定义类函数、成员函数、静态函数,他们的作用分别是什么?
4、类可以被继承,如何让子类必须重写父类的函数才能使用,否则抛出异常?
5、有以下继承关系: A,B(A),C(A),D(B,C)
那么 D 在初始化的时候,A,B,C 的初始化顺序是怎么样的?A 是否会初始化两次?
以下是我的回答,供参考。
0. 什么是类和对象
先说对象,对象通常有两层意思,指行动或思考时作为目标的事物或特指恋爱的对方。在编程的世界里,对象就是客观世界中存在的人、事、物体等实体在计算机逻辑中的映射。
编程时,你可以将对象映射成任何你想映射的东西,只不过,映射的如果更符常规时,代码更容易使用和理解,也更有利于后续的快速迭代和扩展。在 Python 的世界里,万物皆对象。
再说说类,类就是分类的类,代表着一群有着相似性的事物的集合,对应 Python 关键字 class。
对象是类中一个具体的事物,是由类初始化后生成的,通常也叫 object,或者实体,比如女人是一个类,而你的女朋友就是一个对象。
属性:对象的某个静态特征,比如你女朋友的肤色,民族,血型等。
函数:对象的某个动态能力,