1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
cimport cython
@cython.final
cdef class FinalClass:
"""
>>> f = FinalClass()
>>> test_final_class(f)
Type tested
>>> try:
... class SubType(FinalClass): pass
... except TypeError:
... print('PASSED!')
PASSED!
"""
cdef class NonFinalClass:
"""
>>> class SubType(NonFinalClass): pass
>>> s = SubType()
"""
@cython.final
cdef class FinalSubClass(NonFinalClass):
"""
>>> f = FinalSubClass()
>>> test_non_final_class(f)
Type tested
>>> try:
... class SubType(FinalSubClass): pass
... except TypeError:
... print('PASSED!')
PASSED!
"""
def test_final_class(FinalClass c):
print u"Type tested"
def test_non_final_class(NonFinalClass c):
print u"Type tested"
|