কোটলিন: পাবলিক বেসরকারী সেট প্রাপ্ত করুন


125

কোটলিনে কোনও পাবলিক গেটর এবং প্রাইভেট (কেবলমাত্র অভ্যন্তরীণ সংশোধনযোগ্য) সেটার রয়েছে এমন কোনওরূপ সংজ্ঞায়নের সঠিক উপায় কী?

উত্তর:


193
var setterVisibility: String = "abc" // Initializer required, not a nullable type
    private set // the setter is private and has the default implementation

দেখুন: প্রোপার্টি গেটর এবং সেটার


13
নোট করুন যে private setএকটি নতুন লাইনে থাকা আবশ্যক।
জ্যাস্পার ব্লুজ

29
... বা একই লাইনে, সেমিকোলনের পরে:var abc: String = ""; private set
বরিস বি

4
যদিও প্রাইমারি কনস্ট্রাক্টর ফিল্ডটি করা যায় তার জন্য আমি ক্ষতিতে আছি।
androidguy

2
@ user3175580 এটি সম্ভব নয়। প্রাথমিক কন্সট্রাক্টরের ভিতরে একটি স্থানীয় ক্ষেত্র ব্যবহার করুন এবং তারপরে "শ্রেণি ফু (_বার: স্ট্রিং) {ভের বার: স্ট্রিং = _বার}
ডি

3
@ য্যাস্পার ব্লু ... অন্যথায় আপনার আগে সেমিকোলন যুক্ত করতে হবে private set
মূসা অ্যাপ্রিকো

7

আপনি নিম্নলিখিত পদ্ধতির সাহায্যে এটি সহজেই করতে পারেন :

var atmosphericPressure: Double = 760.0
    get() = field
    private set(value) { 
        field = value 
    }

মিডিয়াম এই পোস্টটি দেখুন: কোটলিনে সম্পত্তি, গেটর এবং সেটর

আশাকরি এটা সাহায্য করবে.


2

var name : String = "Peter"
    private set

ডিফল্টরূপে সমস্ত সম্পত্তি এবং ফাংশনগুলি কোটলিনে সর্বজনীন। অতএব সেটেটরটি স্পষ্টভাবে ব্যক্তিগত হিসাবে ঘোষণা করতে হবে যখন গিটারটি ডিফল্টরূপে সর্বজনীন হয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.