'''
普通方法:没有参数,只能类调用
绑定方法:(1)绑定到对象(自动传递对象参数) (2)绑定到类(自动传递类参数)
静态方法:无论是类还是对象,都能调用的方法
'''
class Dog():
def __init__(self,name):
self.name = name
# 普通方法
def jiao():
print("小狗看见人就旺旺")
# 绑定到对象方法
def tian(self):
print("小狗喜欢舔")
# 绑定到类方法
@classmethod
def la(cls):
print(cls)
print("小狗会吃屎")
# 静态方法
@staticmethod
def jump():
print("小狗喜欢跳起来接飞盘")
obj = Dog("迈克尔·蛋")
# (1) 普通方法
Dog.jiao()
# 对象无法调用
# (2) 绑定到对象方法
obj.tian()
# Dog.tian(134) # 如果硬要使用类来调用,满足实参形参一一对应.
# (3) 绑定到类方法
Dog.la()
# 用对象调用绑定到类的方法是可以的,先找出该对象所归属的类是谁,然后在传递这个类
obj.la()
# (4) 静态方法
obj.jump()
Dog.jump()
# 无论是类还是对象都可以调用方法