আমি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ে নতুন এবং একটি ধারণা যা আমাকে বুঝতে সময় লাগছে তা হ'ল অপরিবর্তনীয়তা। আমি মনে করি গত রাতে হালকা বাল্বটি বন্ধ হয়ে গেছে তবে আমি যাচাই করতে চাই:
যখন আমি এমন বিবৃতি পেলাম যে অপরিবর্তনীয় বস্তুটি পরিবর্তন করা যায় না, তখন আমি বিস্মিত হই কারণ আমি উদাহরণস্বরূপ নিম্নলিখিতটি করতে পারি:
NSString *myName = @"Bob";
myName = @"Mike";
সেখানে, আমি সবেমাত্র আমার নাম পরিবর্তন করেছি, অপরিবর্তনীয় টাইপ এনএসএসস্ট্রিংয়ের। আমার সমস্যাটি হ'ল "অবজেক্ট" শব্দটি মেমরির প্রকৃত বস্তু বা অ্যাবস্ট্রাকশন "মাইনেম" বোঝায়। পূর্বের সংজ্ঞা অপরিবর্তনীয় ধারণার ক্ষেত্রে প্রযোজ্য।
পরিবর্তনশীল হিসাবে, অপরিবর্তনীয়তার আরও স্পষ্ট (আমার কাছে) সংজ্ঞাটি হ'ল অপরিবর্তনীয় বস্তুর মান কেবল তার অবস্থানের স্মৃতিতে পরিবর্তনের মাধ্যমে পরিবর্তিত হতে পারে, অর্থাত্ এর রেফারেন্স (এটি তার পয়েন্টার হিসাবে পরিচিত)।
এটি কি সঠিক, না আমি এখনও জঙ্গলে হারিয়েছি?
NSString
, এটি একটি " নির্দেশক এবংNSString
", যা স্থাবর নয়। আমি উদ্দেশ্য C- এর কিছুই জানি না, কিন্তু আমি আপনার উদাহরণ যে অনুমান করছি@"Mike"
একটি নতুন দৃষ্টান্ত তৈরি করছেNSString
এবং তা নির্ধারণের পয়েন্টার ,myName
। সুতরাং আপনি যে বস্তুটিরmyName
দিকে ইশারা করছিলেন সেটিকে আপনি পরিবর্তন করেননি , কেবল এটি কী নির্দেশ করছে।