当前位置: 首页 > 现代诗歌 > 文章

Python面向对象之继承和多态用法分析 情感分析导师的骗局

2019-06-09

Python面向对象之继承和多态用法分析 情感分析导师的骗局

而我们编写Child类,完全可以继承Person类(Child就是Person);使用classsubclass_name(baseclass_name)来表示继承;继承有什么好处?最大的好处是子类获得了父类的全部属性及功能。

如下Child类就可以直接使用父类的print_title()方法实例化Child的时候,子类继承了父类的构造函数,就需要提供父类Person要求的两个属性变量name及sex:在继承关系中,如果一个实例的数据类型是某个子类,那它也可以被看做是父类(May既是Child又是Person)。 但是,反过来就不行(Peter仅是Person,而不是Child)。 继承还可以一级一级地继承下来,就好比从爷爷到爸爸、再到儿子这样的关系。 而任何类,最终都可以追溯到根类object,这些继承关系看上去就像一颗倒着的树。

比如如下的继承树:isinstance()及issubclass()Python与其他语言不同点在于,当我们定义一个class的时候,我们实际上就定义了一种数据类型。 我们定义的数据类型和Python自带的数据类型,比如str、list、dict没什么两样。

Python有两个判断继承的函数:isinstance()用于检查实例类型;issubclass()用于检查类继承。 参见下方示例:classPerson(object):passclassChild(Person):#Child继承PersonpassMay=Child()Peter=Person()print(isinstance(May,Child))#Trueprint(isinstance(May,Person))#Trueprint(isinstance(Peter,Child))#Falseprint(isinstance(Peter,Person))#Trueprint(issubclass(Child,Person))#True。