فهرست
1 - مقدمه
2 - مبانی کاتلین
3 - کد نویسی مقدماتی کاتلین
3.4 ) عبارت های شرطی در کاتلین
3.5 ) اضافه کردن پگیج ها در کاتلین و خلاصه بخض سوم
4 - توابع
4.2 ) تابع با پارامترهای پیشفرض و نامیده شده
4.3 ) تابع با پرامترهای نامحدود و خلاصه بخش چهارم
5 - کلاس ها
5.3 ) visibility modifier ها در کاتلین
5.6 ) Object ها در کاتلین و خلاصه بخش پنج
6 - ارث بری
6.2 ) کارکردن با کلاس های abstract در کاتلین
6.3 ) کلاس های interface در کاتلین
6.4 ) نگاه کوتاه به generic ها و خلاصه بخش شش
7 - کارکردن با Null ها
7.1 ) null safety و خلاصه بخش هفت
8 - نکات اضافه
8.4 ) کار کردن با exception ها
8.6 ) annotation ها در کاتلین و خلاصه بخش هشت
9 - نگاه functionalای
9.2 ) عبارت های لاندا در کاتلین
9.4 ) عبارت های الحاقی در کاتلین و خلاصه بخش نهم
10 - قابلیت همکاری و Interoperability
10.2 ) صحبت کردن با جاوا از کاتلین
10.3 ) کار کردن با null ها از جاوا
10.4 ) صحبت کردن با کاتلین از جاوا
10.5 ) توابع و خصیصه های درجه اول
10.6 ) توابع الحاقی کاتلین از جاوا
10.7 ) همکاری با جاوا 7 و 8 و خلاصه بخش دهم
11 - کتابخانه استاندارد
11.1 ) کتابخانه استاندارد کاتلین و کارکردن با کالکشن ها در کاتلین
11.2 ) مرور کوتاه بر روی filtering و mapping و flatmapping در کاتلین
visibility modifier ها در کاتلین
اگه دقت کرده باشین در تموم کد هایی که تا الان نوشیتم از هیچ گونه visibility-modifier ای استفاده نکردیم. و در واقع در کاتلین این قرارداد هست که visibility-modifier پیش فرض public است.
توی کاتلین 4 نوع visibility-modifier داریم:
- Public که پیشفرضمونه و از همه جا قابل دسترسیه برای Top-Level-Declaration ها ( منظور تموم تعریف هایی که به صورت Top-level انجام میشه، مثلا Top-level-function ها )
- Private که تنها از داخل همون فایلی که تعریف شده قابل دسترسیه
- Internal که در واقع این اجازه رو میده که از هرجای برنامه بتونیم به اون دسترسی داشته باشیم، تازمانی که داخل همون module که توش تعریف شده باشیم. درواقع module اینجا منظورمون gradle module ، maven module و غیره و امثال این هاست برای کلاس ها ما 3 نوع Visibility-modifier داریم
- Private تنها دسترسی رو به عضو های یک class میده
- Protected به مانند private میمونه ولی علاوه بر اون دسترسی رو به subclass ها هم میده
- Internal در واقع اجازه میده که هر چیزی داخل module به اون دسترسی داشته باشه.