我是OOPS的新手
我想知道何时P初始化父类实例,而我想初始化子类实例C
喜欢
class A(object):
def __init__(self):
print "A created"
P = A()
class B(A):
def __init__(self):
print super((B), self).__init__ # Q1: How to get "A created" from parent class?
print self.__class__.__name__
print super(B, self).__class__.__name__
问题2:现在,如果我创建一个实例z = B(),我想创建z为Pie的子实例,z仅当P存在较早的实例时才应创建。如果将任何属性添加到属性,则的属性P应向下流动到zw /数据。z如果P不存在,基本上不应该创建
同样y = B() iff x = A() 有办法吗?
我这样做是因为我正在创建一个程序,其中将A在各种上下文中创建Class的多个实例。
Mathematics = A()
English = A()
Now,
Algebra = B() iff Mathematics = A()
And
Grammar = B() iff English = A()
是否有自我检查器进行检查?我的意思是怎么做到的?
关于Q2的更新: 另一种询问方式是,在创建实例以检查A类的实例并获取特定的实例数据时,是否有方法可以检入B类?就像在B类中一样,检查由A类构成的实例,然后选择一个实例,并从该实例的属性中获取数据,以获取要创建的B类实例?
还
z = B()
<bound method B.__init__ of <__main__.B object at 0x000000000791DB38>>
B
super #Q3: I thought it would print `A`. WHY NOT?
Helenr
相关分类