Dart Generic
Generic در دارت Dart Generic
Collection ها در زبان دارت به صورت ناهمگون هستند. یعنی عناصر آن میتوانند از انواع مختلف داده باشند.
اما collection ها میتوانند طوری ساخته شوند که همگون بوده و فقط داده هایی از یک نوع را ذخیره کنند.
از مفهموم و ویژگی Generic برای این منظور استفاده میکنیم.
استفاده از Generic باعث ایجاد محدودیت در نوع داده ای که عناصر کالکشن میتوانند داشته باشند، میشود.
این نوع کالکشن ها، کالکشن های type-safe نیز نامیده میشوند.
ایمنی نوع تضمین میکند که یک بلوک داده فقط میتواند حاوی مقادیری از یک نوع داده خاص باشد.
پیاده سازی Collection های Generic
تمامی کالکشن ها با پیاده سازی Generic ها، از ایمنی نوع (type-safety) پشتیبانی میکنند.
از <> که حاوی یک نوع داده است، برای پیاده سازی کالکشن های generic استفاده میشود.
Dart Generic
1 | Collection_name <data_type> identifier= new Collection_name<data_type> |
در مثال زیر یک لیست generic ایجاد کرده ایم.
1 2 3 4 5 6 7 8 9 10 11 | void main() { List <String> logTypes = new List <String>(); logTypes.add("WARNING"); logTypes.add("ERROR"); logTypes.add("INFO"); // iterating across list for (String type in logTypes) { print(type); } } |
خروجی:
1 2 3 | WARNING ERROR INFO |
در مثال زیر نیز یک Set را به صورت generic ایجاد کرده ایم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | void main() { Set <int>numberSet = new Set<int>(); numberSet.add(100); numberSet.add(20); numberSet.add(5); numberSet.add(60); numberSet.add(70); // numberSet.add("Tom"); compilation error; print("Default implementation :${numberSet.runtimeType}"); for(var no in numberSet) { print(no); } } |
خروجی:
1 2 3 4 5 6 | Default implementation :_CompactLinkedHashSet<int> 100 20 5 60 70 |
پیاده سازی map به صورت generic
از آن جایی که map داده ها را به صورت جفت کلید-مقدار ذخیره میکند، بنابراین باید هم برای کلیئ و هم برای مقدار، نوع داده تعریف کنیم.
1 | Map <Key_type, value_type> |
مثال: Dart Generic
1 2 3 4 | void main() { Map <String,String>m={'name':'Tom','Id':'E1001'}; print('Map :${m}'); } |
خروجی:
1 | Map :{name: Tom, Id: E1001} |
آموزش کامل زبان برنامه نویسی دارت در برنامه اندرویدی ما:
دانلود نرم افزار اندرویدی آموزش زبان برنامه نویسی دارت از کافه بازار
Collection ها در زبان دارت به صورت ناهمگون هستند. یعنی عناصر آن میتوانند از انواع مختلف داده باشند.
اما collection ها میتوانند طوری ساخته شوند که همگون بوده و فقط داده هایی از یک نوع را ذخیره کنند.
از مفهموم و ویژگی Generic برای این منظور استفاده میکنیم.استفاده از Generic باعث ایجاد محدودیت در نوع داده ای که عناصر کالکشن میتوانند داشته باشند، میشود.ین نوع کالکشن ها، کالکشن های type-safe نیز نامیده میشوند.ایمنی نوع تضمین میکند که یک بلوک داده فقط میتواند حاوی مقادیری از یک نوع داده خاص باشد.پیاده سازی Collection های Genericتمامی کالکشن ها با پیاده سازی Generic ها، از ایمنی نوع (type-safety) پشتیبانی میکنند.از <> که حاوی یک نوع داده است، برای پیاده سازی کالکشن های generic استفاده میشود.