جنریک ها (Generics)

جنریک ها، کلاس‌ها، توابع یا رابط‌هایی هستند که بسته به نوع داده‌ای که به آنها اختصاص داده می‌شود، رفتارشان را سازگار می‌کنند. به عنوان مثال می‌توان یک تابع جنریک تعریف کرد که هر نوع داده‌ای را قبول کند. همچنین می‌توان یک تابع ایجاد کرد که بسته به نوع دریافتی، مقادیری از انواع داده‌ای مانند Int، Double یا String را نشان دهد. اگر از جنریک ها استفاده نکنید باید چند تابع و یا حتی چندین تابع سربارگذاری شده برای نمایش هر نوع ممکن ایجاد کنید.

fun show(number: Int) 
{
    println(number)
}

fun show(number: Double) 
{
    println(number)
}

fun show(message: String) 
{
    println(message)
}

با استفاده از جنریک ها می‌توان متد جنریکی ایجاد کرد که هر نوع داده‌ای را قبول کند:

fun <E> show(item: E) 
{
    println(item)
}

درباره جنریک ها در درسهای بعد مطالب بیشتری توضیح می‌دهیم.