تا به اینجا هیچ اصلاح کننده پدیداری مانند public یا private نداشتیم. به این خاطر که همه چیز به صورت پیش فرض در کاتلین عمومی است که یعنی همه چیز میتواند از همه جا قابل دسترس باشد از جمله کلاسها، متدها، خصوصیات و متغیرهای عضو.
در کاتلین کلاسها، اشیا، رابط ها، سازنده ها، توابع، خصوصیات و تنظیم کننده های آنها میتوانند اصلاح کننده پدیداری (visibility modifiers) داشته باشند.
برای اطلاعات بیشتر مستندات اصلاح کننده پدیداری در کاتلین را مشاهده کنید.
متغیر های عضو
خصوصیات داخلی کلاس یا متغیر های عضو به صورت پیشفرض public هستند. اگر آنها را با var تعریف کنید، آنها تغییر پذیر هستند، که یعنی خوانده می شوند و نوشته می شوند. اگر آنها را به عنوان val تعریف کنید آنها پس از مقدار دهی اولیه فقط قابل خواندن هستند.
اگر یک خصوصیت میخواهید که کد شما بتواند بخواند و بنویسد اما خارج کد فقط قابل خواندن باشد میتوانید خصوصیات و گیرنده را عمومی بگذارید و تنظیم کننده را خصوصی اعلام کنید همانطور که در پایین نشان داده شده است.
var volume: Int get() = width * height * length / 1000 private set(value) { height = (value * 1000) / (width * length) }