类成员和实例成员

类成员和实例成员
类中的成员:字段,方法,内部类
类成员: 使用static修饰的成员
实例成员:未使用static修饰的成员


类成员只能访问类成员,实例成员只能访问实例成员


类成员,直接属于类,可以通过类来访问static字段和static方法
实例成员,只属于对象,通过对象来访问非static方法
(对象其实可以访问类成员,但底层依然使用类名访问)


在static方法中,只能调用static成员
非static方法,可以调用静态成员,也可以访问实例成员


什么时候定义成static的字段和方法
如果这个一个状态/行为属于整个事物(类),就直接使用static修饰
被所有对象共享




在开发中,往往把工具方法使用static修饰
如果不使用static修饰,则这些方法属于该类的对象,我们得先创建对象再调用方法,在开发中工具对象只需要一份即可,可能把该类设计为单例的,但是还是有点麻烦
所以,一般的,在开发中设计工具方法,为了调用简单,我们使用static修饰




类成员的使用:
利处:对对象的共享数据进行单独空间的存储,节省空间,没有必要每一个对象中都存储一份,可以直接被类名调用
弊端:生命周期过长
在 Python 中,类成员实例成员分别指的是在类定义中声明的变量或方法,以及在实例化类后与每个实例相关联的变量或方法。 类成员是在类定义中声明的变量或方法,它们属于类本身,而不是属于类的任何实例。在类中定义的类成员可以通过类名直接访问,也可以通过实例访问。 实例成员是在实例化类后与每个实例相关联的变量或方法。实例成员只能通过实例访问,不能通过类名访问。实例成员包括实例变量实例方法,它们属于实例对象而不是属于类本身。 下面是一个示例代码,展示了类成员实例成员的使用: ```python class MyClass: class_variable = "I am a class variable" def __init__(self, instance_variable): self.instance_variable = instance_variable def instance_method(self): print("I am an instance method") # 访问类成员 print(MyClass.class_variable) # 实例化类并访问实例成员 my_instance = MyClass("I am an instance variable") print(my_instance.instance_variable) my_instance.instance_method() ``` 输出结果为: ``` I am a class variable I am an instance variable I am an instance method ``` 在示例代码中,`class_variable` 是一个类成员,在类定义中声明,可以通过类名 `MyClass` 直接访问。`instance_variable` `instance_method` 是实例成员,在实例化类后,与每个实例相关联。`instance_variable` 是一个实例变量,只能通过实例 `my_instance` 访问;`instance_method` 是一个实例方法,也只能通过实例 `my_instance` 访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值