我有下面的类,我想创建一个名人的实例,也是一个人,有一个年龄属性。就我所知,我很确定morganFreeman是一个名人,但不是一个人;我该如何实例化,使他同时具有子类和超类的实例,并同时具有这两种属性?你知道吗
class Person(object):
def __init__(self,age):
self.age = age
class Celebrity(Person):
def __init__(self,profession):
super(Celebrity,self).__init__(profession)
morganFreeman = Celebrity("actor")
bob = Person(45)
您需要接受
Celebrity
中__init__()
方法中的age
参数,然后将其传递给基类__init__()
:这表明
Celebrity
对象同时具有age
和profession
属性,而Person
属性仅具有age
。你知道吗首先,
self.Person = self
是无意义的;self
当然已经是self
。你知道吗其次,你的假设是错误的。
morganFreeman
既是名人又是人。根据定义,继承就是这样运作的。你知道吗相关问题 更多 >
编程相关推荐