সুইফট ডাব্লুডাব্লুডিসি সেশনের পরিচিতিতে, কেবল পঠনযোগ্য সম্পত্তি description
প্রদর্শিত হয়:
class Vehicle {
var numberOfWheels = 0
var description: String {
return "\(numberOfWheels) wheels"
}
}
let vehicle = Vehicle()
println(vehicle.description)
পরিবর্তে কোনও পদ্ধতি ব্যবহারের মাধ্যমে উপরোক্ত পদ্ধতির চয়ন করার ক্ষেত্রে কী কোনও প্রভাব রয়েছে:
class Vehicle {
var numberOfWheels = 0
func description() -> String {
return "\(numberOfWheels) wheels"
}
}
let vehicle = Vehicle()
println(vehicle.description())
আমার কাছে মনে হয় আপনি কেবলমাত্র পঠনযোগ্য গণনা করা সম্পত্তি বেছে নেওয়ার সবচেয়ে সুস্পষ্ট কারণগুলি হ'ল:
- শব্দার্থবিজ্ঞান - এই উদাহরণে এটি
description
ক্লাসের সম্পত্তি হিসাবে বিবেচনা করে, বরং এটি সম্পাদন করে এমন কোনও ক্রিয়াকলাপ। - ব্রেভিটি / স্পষ্টতা - মান পাওয়ার সময় খালি বন্ধনী ব্যবহারের প্রয়োজনকে বাধা দেয়।
স্পষ্টত উপরের উদাহরণটি অত্যধিক সরল, তবে একে অপরের থেকে একটি বেছে নেওয়ার অন্যান্য কি ভাল কারণ আছে? উদাহরণস্বরূপ, ফাংশন বা বৈশিষ্ট্যগুলির কিছু বৈশিষ্ট্য রয়েছে যা আপনার কোনটি ব্যবহারের সিদ্ধান্তকে পরিচালিত করবে?
এনবি প্রথম নজরে এটি বেশ একটি সাধারণ ওওপি প্রশ্নের মতো মনে হয় তবে আমি এই ভাষাটি ব্যবহার করার সময় যে কোনও সুইফট-নির্দিষ্ট বৈশিষ্ট্য যা সেরা অনুশীলনকে গাইড করতে পারে তা জানতে আগ্রহী।