Skip to content

Latest commit

 

History

History
38 lines (31 loc) · 650 Bytes

array_generics.md

File metadata and controls

38 lines (31 loc) · 650 Bytes

Array Generics

Below if isinstance is used to cast item to that type, if it is an instance of that class.

class A:
	def __init__(self, x:int):
		self.x = x
	def method1(self) -> int:
		return self.x

class B(A):
	def method1(self) ->int:
		return self.x * 2
	def method2(self, y:int):
		print( self.x + y )

class C(A):
	def method1(self) ->int:
		return self.x + 200
	def say_hi(self):
		print('hi from C')

def main():
	a = A( 1 )
	b = B( 200 )
	c = C( 3000 )
	arr = []A( a,b,c )

	for item in arr:
		print(item.method1())

		if isinstance(item, B):
			item.method2( 20 )

		if isinstance(item, C):
			item.say_hi()