class Basic(object):
def __init__(self):
pass
@classmethod
def get_data(cls):
pass
def talk(self):
pass
class A(Basic):
def __init__(self):
pass
@classmethod
def get_data(cls):
return cls()
def talk(self):
print("A() talk")
class B(Basic):
def __init__(self):
pass
@classmethod
def get_data(cls):
return cls()
def talk(self):
print("B() talk")
def func(Basic_class):
obj = Basic_class.get_data()
obj.talk()
func(A)
func(B)
classmethod动态的创建对象,可以实现类的多态