আপনি এখানে উত্তর দ্বারা প্রস্তাবিত হিসাবে প্রোটোকল বনাম দৃser়তা ব্যবহার করতে পারেন drewag
। তবে, প্রোটোকলের জন্য উদাহরণ অনুপস্থিত। আমি এখানে আবরণ করছি,
প্রোটোকল
protocol SomeProtocol {
func someMethod()
}
class SomeClass: SomeProtocol {
func someMethod() {}
}
সংকলনের সময় পরীক্ষা করা প্রোটোকলটি এখন প্রতিটি সাবক্লাসকে প্রয়োগ করতে হবে। যদি সামারক্লাস কিছু ম্যাথড প্রয়োগ করে না, আপনি এই সংকলন সময় ত্রুটি পাবেন:
ত্রুটি: টাইপ 'সোমারস্লাস' প্রোটোকল 'সোমারপ্রোটোকল' এর সাথে খাপ খায় না
দ্রষ্টব্য: এটি কেবলমাত্র শীর্ষস্থানীয় শ্রেণীর জন্য কাজ করে যা প্রোটোকল প্রয়োগ করে। যে কোনও সাবক্লাস প্রোটোকল প্রয়োজনীয়তা নির্লজ্জভাবে উপেক্ষা করতে পারে। - যেমন মন্তব্য দ্বারাmemmons
দৃ .়তা
class SuperClass {
func someFunc() {
fatalError("Must Override")
}
}
class Subclass : SuperClass {
override func someFunc() {
}
}
তবে দৃ .়তা কেবল রানটাইমে কাজ করবে।