গ্রাহকরা এবং সেটটারগুলি কোটলিনে স্বয়ংক্রিয়ভাবে উত্পন্ন হয়। আপনি যদি লিখেন:
val isEmpty: Boolean
এটি নিম্নলিখিত জাভা কোডের সমান:
private final Boolean isEmpty;
public Boolean isEmpty() {
return isEmpty;
}
আপনার ক্ষেত্রে প্রাইভেট অ্যাক্সেস মডিফায়ার রিডানড্যান্ট - ইম্পটিটি ডিফল্টরূপে ব্যক্তিগত হয় এবং কেবল কোনও গেটর দ্বারা এটি অ্যাক্সেস করতে পারে। আপনি যখন নিজের অবজেক্টের ইম্পিটি সম্পত্তি পাওয়ার চেষ্টা করবেন তখন আপনি পান পদ্ধতিটিকে আসল বলবেন। কোটলিনে গেটার / সেটটারদের আরও বোঝার জন্য: নীচের দুটি কোডের নমুনা সমান:
var someProperty: String = "defaultValue"
এবং
var someProperty: String = "defaultValue"
get() = field
set(value) { field = value }
এছাড়াও আমি এটি উল্লেখ করতে চাই যে this
একজন গিটার আপনার সম্পত্তি নয় - এটি শ্রেণীর উদাহরণ। যদি আপনি কোনও গেটর বা সেটারে ক্ষেত্রের মানটিতে অ্যাক্সেস পেতে চান তবে আপনি field
এটির জন্য সংরক্ষিত শব্দটি ব্যবহার করতে পারেন :
val isEmpty: Boolean
get() = field
যদি আপনি কেবল জনসাধারণের অ্যাক্সেসে একটি পদ্ধতি পেতে চান - আপনি এই কোডটি লিখতে পারেন:
var isEmpty: Boolean
private set
সেট অ্যাকসেসরের কাছে প্রাইভেট সংশোধক হওয়ার কারণে আপনি কেবলমাত্র নিজের অবজেক্টের অভ্যন্তরীণ পদ্ধতিতে এই মানটি সেট করতে পারেন।
In your case the private access modifier is redundant
কীভাবে? কোটলিন ডকের বক্তব্য ডিফল্ট সংশোধক সর্বজনীন। কোটলিংআং.আর.ওডকস