سلام خدمت دوستان و همراهان عزیز مجموعه آموزشی فرکیان تک
امیدواریم که حال شما عزیزان عالی باشه
توی این مقاله قراره با هم یه نگاهی به قواعد کد نویسی زبان کاتلین داشته باشیم. بریم که داشته باشیم…
پارت سوم
اگر پارت ۲ رو نخوندی پیشنهاد میکنم بری بخونی کافیه روی لینک کلیک کنی.
Visibility Modifiers
Kotlin visibility modifiers چیست؟
کلمات کلیدی هستن که قابلیت مشاهده کلاسها، اشیاء، interface ، سازندهها، توابع و همچنین properties و Setters اون ها رو تعیین میکنن. اگرچه دریافتکنندهها همیشه visibility یکسانی با properties دارن، بنابراین نمیتوانیم visibility اون ها رو تنظیم کنیم.
مفهوم اصلاحکنندههای دید در داخل پکیجهای کاتلین
در کاتلین، پکیج به مجموعه ای سازماندهی شده از توابع، پراپرتیها، کلاسها، اشیاء و اینترفیسها گفته میشه که در ابتدای تمام فایلها با کلمه package مشخص شده که جزء کدام پکیج هست. این مفهوم از جاوا به ارث رسیده و مختص کاتلین نیست. در واقع پکیج یک مفهوم انتزاعی برای طبقهبندی اجزای مرتبط با یک کار خاص هست. مثلاً java.util مجموعهای از کلاسهای کمکی رو جمع آوری کرده یا java.lang.math حاوی کلاسهای مفیدی برای انجام اعمال ریاضی هست.
ماژول نیز مجموعه ای از فایلها گفته میشه که در کنار یکدیگر کامپایل میشن. به عنوان مثال وقتی در اندروید استودیو یک پروژه جدید میسازید، به صورت خودکار ماژولی تحت عنوان app ساخته میشه. این ماژول تمام سورسکدها، ریسورسها و فایلهای پروژه رو در بر میگیره. وقتی دکمۀ کامپایل رو میزنین ماژول فعلی کامپایل میشه. معمولاً اغلب پروژههایی که ایجاد میکنین یک ماژول بیشتر ندارنن ولی گاهی اوقات برای ساخت نسخۀ تبلتی یا wear (برای گجتهای پوشیدنی مثلاً ساعت هوشمند اندرویدی) میتوانید به جای ساخت چند پروژه مجزا، برای هر پلتفرم یک ماژول مجزا داخل پروژه تعریف کرد.
internal:
یعنی این متغیر فقط توی همین ماژولی که هستیم قابل استفاده هست.(مثال : ماژول app برنامه ای که ساختیم)
حالا اگه همه این متغیرها رو به صورت TopVariables تعریف کنیم:
Nullable values
در زبان جاوا به صورت پیشفرض همه object ها nullable هستن، یعنی میتوان برای مثال، پارامتر یک رو مقدار null داخلش
قرار بدیم.
در زبان کاتلین به این صورت نیست چون nullable نیست.
برای اینکه اون object رو nullable کنیم، این کار رو میکنیم:
بعد از DataType از علامت سؤال استفاده میکنیم.