micropython

tests/subclass.py

440:cf329206154e
2011-07-03 Paul Boddie Introduced constant usage tracking.
     1 #!/usr/bin/env python     2      3 class A:     4     def __init__(self, x):     5         self.x = x     6      7     def a(self):     8         return self.x     9     10 class B(A):    11     def b(self):    12         return 2    13     14 class C(A, B):    15     def a(self):    16         return self.y    17     18     def b(self):    19         return self.a()    20     21     def c(self):    22         return A.a(self)    23     24     def __init__(self, x, y):    25         self.x = x    26         self.y = y    27     28 class D:    29     def __init__(self, y):    30         self.z = y    31     32     def a(self):    33         return self.z    34     35 class E(C, D):    36     pass    37     38 class F(A, D):    39     pass    40     41 a = A(1)    42 b = B(1)    43 c = C(1, 2)    44 d = D(3)    45 e = E(3, 4)    46 f = F(5)    47     48 result1_1 = a.a()    49 result1_2 = b.b()    50 result2_2 = c.a()    51 result3_2 = c.b()    52 result2_1 = c.c()    53 result_3 = d.a()    54 result_4 = e.a()    55 result_5 = f.a()    56     57 # vim: tabstop=4 expandtab shiftwidth=4