一. 类的成员
在类中能写的所有内容都是类的成员
二. 类的成员-变量
1. 实例变量(字段)
实例化对象的变量, 由对象访问
2. 类变量(静态变量)
变量属于类, 多个对象共享的, 最好用类名访问(可以修改), 但对象也可以访问(不可以修改)
三. 类的成员-方法
1. 成员方法(实例方法)
定义实例方法时, 必须给出一个参数self(本类中的对象), 且该参数在第一个位置, 调用时自动把对象传递给形参的self, 调用时不需要再给出self
2. 静态方法
@staticmethod
属于类, 好比在类中定义了一个函数, 静态方法不需要我们给方法传递self, 也就是说, 当出现一个方法不需要使用到成员变量的时候, 就可以选择使用静态方法. 推荐使用类名访问
3. 类方法
@classmethod
属于类, 子类可以继承父类的类方法, 在声明的时候需要给出一个能够接受类名的参数(cls), 放在参数的第一个位置, 类方法在被调用的时候也不需要传递实例对象, 但是, 系统会自动把类传递给第一个参数
四. 类的成员-属性
@property
属性其实就是把方法更改为属性, 每次拿属性的时候就会自动调用这个方法, 方法的返回值就是属性值
缺点: 此属性不可以赋值(因为方法不能赋值)
注意: (1).方法参数只能有一个self (2).方法上要写@property (3). 调用的时候, 不需要写括号, 直接当做属性变量来用就可以了 (4). 这个套路只能取值, 不能设置值
当某个属性必须经计算才能得到结果时, 会用到这种方法
五. 私有
所有以 __ 开头的方法和变量都是私有内容, 子类无法继承, 外界无法访问, 除非自己想暴露
1. 私有变量
私有的内容不能访问, 但是如果对方开辟了外界访问的通道(公共方法), 那可以通过这个公共方法来获取私有的内容, 这样做的好处是外界只能看但是改不了,
实例变量和类变量都可以私有
2. 私有方法
外界无法访问到本类中的私有方法, 但是本类中可以调用