خب در این آموزش میخوام مفهوم Generics در جاوا رو برای شما آموزش بدم. این نوع توابع، جوری هستند که به نوع متغیر وابسته نیستند و هر مقداری که به آنها پاس داده شود یا از آنها گرفته شود با هر نوعی میخواهد عددی باشد یا رشته یا … پردازش خود را انجام میدهند. این نوع توابع بسیار کاربردی هستند و توصیه میکنم مبحثش رو خیلی خوب یاد بگیرید. همچنین Generics به برنامه نویسان اجازه می دهد تا در زمان کامپایل جلوی موارد نامعتبر را بگیرد.
فرض کنید میخواهیم یک تابع بنویسیم که مقادیر آرایه را چاپ کند. این تابع رو میتونیم به صورت Generics تعریف کنیم. در صورتی که این کار رو بکنیم، میتونیم همهی آرایههای موجود رو توسطش چاپ کنیم. این تابع به این صورت تعریف میشه:
public static < E > void printArray( E[] inputArray ) { for ( E element : inputArray ){ System.out.printf( "%s ", element ); } System.out.println(); }
حالا هرجا که خواستیم صداش میزنیم:
Integer[] intArray = { 1, 2, 3, 4, 5 }; Double[] doubleArray = { 1.1, 2.2, 3.3, 4.4 }; Character[] charArray = { 'H', 'E', 'L', 'L', 'O' }; System.out.println( "Array integerArray contains:" ); printArray( intArray ); System.out.println( "\nArray doubleArray contains:" ); printArray( doubleArray ); System.out.println( "\nArray characterArray contains:" ); printArray( charArray );
به همین سادگی تابعی تعریف کردیم که نوع متغیر براش مهم نیست و هرچی بهش بدیم اجرا میکنه. در مبحث ArrayList یک نمونه از این Generics رو دیدیم. ArrayList یک نوع Generics هستش. شما با استفاده از دستورش میتونید انواع و اقسام نوعهای مختلف متغیر رو بهش پاس بدید و استفاده کنید.
دیدگاهتان را بنویسید