ব্যবহার করুন countOfAttendees
এবং countOfPaidAttendees()
।
একটি গণিত ভেরিয়েবল হ'ল এটি যা প্রতিবার অ্যাক্সেস করার সময় গণনা করা মান দেয়। এটি একটি মান সংরক্ষণ করে না। অভ্যন্তরীণভাবে এটি একটি ফাংশন হিসাবে প্রয়োগ করা হয়।
একটি ফাংশন সঙ্গে পার্থক্য কি?
- শব্দার্থকভাবে, একটি পরিবর্তনশীল রাষ্ট্র, একটি ফাংশন একটি ক্রিয়া।
- একটি ফাংশন ব্যক্তিগত স্টোরেজ অ্যাক্সেস নিয়ন্ত্রণ করে। একটি গণনাযুক্ত ভেরিয়েবল আরও কমপ্যাক্ট উপায়ে একই কাজ করতে পারে। উদাহরণ ।
- কেভিওর সাথে একটি গণিত ভেরিয়েবল ব্যবহার করা যেতে পারে, এটি # কিপথ হিসাবে পাস হয়েছে এবং এর পর্যবেক্ষণের জন্য সুবিধা রয়েছে: উইলসেট, ডডসেট did
আপনার যখন একটি পরিবর্তনশীল ব্যবহার করা উচিত
- এটা ছুঁড়ে না
- এটি একটি সাধারণ সম্পত্তি ফেরত দেয়
- এটির নামে কোনও পার্শ্ব প্রতিক্রিয়া বা ক্রিয়া নেই
- এটি ও (1), এটির কোনও উল্লেখযোগ্য ব্যয় হয় না। আপনার উদাহরণে এটি ও (এন) হবে।
- এটা আদর্শবান। একাধিক অভিন্ন অনুরোধ একই মান ফেরত দেয় বা বস্তুকে একই স্থানে সেট করে।
কোনও ফাংশনের চেয়ে ভেরিয়েবল পছন্দ করার অপ্রাসঙ্গিক কারণ
- একটি গণিত পরিবর্তনশীল আপনাকে () টাইপ করা থেকে বাঁচায়। যাইহোক, স্পষ্টতা সংক্ষিপ্ততার চেয়ে গুরুত্বপূর্ণ, সুতরাং এটি একটি দুর্বল যুক্তি।
- একটি পঠনযোগ্য কেবল পরিবর্তনশীল পড়া / লেখার হিসাবে ওভাররাইড করা যায়। একটি ফাংশন নির্দেশ করে যে এটি সর্বদা কেবল পঠিত হয়। যাইহোক, অ্যাপল কেবল পঠনযোগ্য ভেরিয়েবলগুলির জন্য অ্যারে.কাউন্ট হিসাবে বৈশিষ্ট্যগুলি ব্যবহার করে। সন্দেহ হলে প্ল্যাটফর্মের সাথে ধারাবাহিকতা সন্ধান করুন।
সম্পদ
থেকে WWDC 2014 - 204 কি কোকো এ নতুন > 24:40 যখন একটি @property ব্যবহার করতে
যে কোনও কিছুর জন্য সম্পত্তি ব্যবহার করুন যা কোনও বস্তুর মূল্য বা স্থিতি বা অন্যান্য বস্তুর সাথে এর সম্পর্ক সম্পর্কিত। খারাপ প্রার্থীরা:
- পদ্ধতিগুলি যেগুলি করে: লোড, পার্স, টগল,…। তাদের নামে ক্রিয়াপদ রয়েছে।
- জেনারেটর: init, অনুলিপি, গণিত,…। এই পদ্ধতিগুলি আদর্শবান নয়।
- রাষ্ট্র পরিবর্তন করে এমন পদ্ধতিগুলি: পরেরঅবজেক্ট।
এরিকা সাদুন > গণিত সম্পত্তি বনাম পদ্ধতিগুলি দ্বারা সুইফ্ট স্টাইল থেকে From
একটি সম্পত্তি একটি উদাহরণের অন্তর্নিহিত গুণকে প্রকাশ করে, যখন কোনও পদ্ধতি কোনও ক্রিয়া করে।
- পদ্ধতিগুলির পরামিতি রয়েছে; বৈশিষ্ট্য না। পার্শ্ব প্রতিক্রিয়া সহ যে কোনও কলের জন্য পদ্ধতিগুলি পছন্দ করুন। যদি কোনও পদ্ধতি কিছু করে (উদাহরণস্বরূপ, এটি লোড, পার্স, টগলস বা প্রিন্ট করে) বা ক্রিয়াকলাপের নাম থাকে তবে এটি কোনও সম্পত্তি হওয়া উচিত নয়।
- আপনি যে মানগুলি পেতে পারেন এবং / অথবা সেট করতে পারেন তার জন্য বৈশিষ্ট্যগুলি পছন্দ করুন।
- বৈশিষ্ট্যগুলিতে কোনও প্রকারের উদাহরণের একটি অর্থপূর্ণ অন্তর্নিহিত গুণ প্রকাশ করা উচিত।
- বৈশিষ্ট্যগুলি আপনাকে উইলসেট এবং ডিডসেটের মাধ্যমে পর্যবেক্ষক যুক্ত করতে দেয়। সঞ্চিত উদাহরণ বৈশিষ্ট্যের থেকে পৃথক, সঞ্চিত ধরণের বৈশিষ্ট্যগুলিকে সর্বদা একটি ডিফল্ট মান দেওয়া উচিত।
থেকে Kotlin কোডিং নিয়মাবলী> ফাংশন বৈশিষ্ট্য বনাম । উপরে ড্যানিয়েলের উত্তর দেখুন ।
প্রাসঙ্গিক তথ্য ছাড়া অন্য সংস্থানসমূহ: