First page Back Continue Last page Overview Graphics

Inheriting Counter Class

<class '__main__.A1'>

0 1 0

<class '__main__.A1'>

0 2 0

<class '__main__.Counter'>

<class '__main__.A2'>

1 2 1

<class '__main__.A1'>

1 3 1

1 2 1

class Counter(object):

number = 0

def __init__(self):

type(self).number += 1

print(type(self))

def __del__(self):

type(self).number -= 1

class A1(Counter):

number = 0

class A2(Counter):

number = 0

x1 = A1()

print(Counter.number, A1.number, A2.number)

x2 = A1()

print(Counter.number, A1.number, A2.number)

c = Counter()

y1 = A2()

print(Counter.number, A1.number, A2.number)

x3 = A1()

print(Counter.number, A1.number, A2.number)

del x1

print(Counter.number, A1.number, A2.number)