版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cadi2011/article/details/84798391
1、 直接上个源码
class Animal(object):
animalName = "Animal" #类变量,看来python中没静态变量这一说(我之前的说法不严谨)
@classmethod #类方法
def print_name(self): #self指的类作为对象传入
return self.animalName #调用对应类对象的animalName
class Cat(Animal): #Cat类 ,扩展自Animal
animalName = "Cat"
class Dog(Animal): #Dog类 ,扩展自Animal
animalName = "Dog"
dog = Dog()
print dog.print_name() #调用类方法的一种方式,使用实例对象调用,解释器会自动找到对应的类对象
print Cat.print_name() #第二种方式,使用类调用,类直接作为对象
输出结果:
Dog
Cat
2、这就是类方法的妙用,巧妙将类对象为维度,做的多态,特别的赞
3、那这样Python中的类变量,就支持重写这一说了啊,牛批啊