Junior
შესაძლებელია თუ არა სტრუქტურის მემკვიდრეობა რამდენიმე მშობლისგან?
sobes.tech AI
პასუხი AI-სგან
نه. په Objective-C او Swift کې، جوړښتونه ډېرګوني وراثت ملاتړ نه کوي.
په Swift کې، جوړښتونه مهم امکانات لري، پشمول د پروتوکولونو، پراختیاوو، میتودونو، حساب شوي ملکیتونو، ذخیره شوي ملکیتونو او پیل کونکو سره.
خو، د ورته اهدافو ترلاسه کولو لپاره په Swift کې کارول کیږي:
-
پروتوکولونه: د غوښتنو یو مجموعه تعریفوي (میتودونه، ملکیتونه، پیل کونکي). یو ډول (جوړښت یا ټولګی) کولی شي یو یا څو پروتوکولونو سره سمون ولري، او له دې لارې یې "رفتار" ترلاسه کوي.
// د پروتوکول مثال protocol Animal { var name: String { get } func makeSound() } // د پروتوکول سره سمون لرونکی جوړښت struct Dog: Animal { let name: String func makeSound() { print("هاو هاو!") } } -
پراختیاوې (Extensions): د موجوده ډول نوې فعالیتونه زیاتوي، پرته له دې چې د هغې سرچینې کوډ بدل کړي.
// د String لپاره د پراختیا مثال extension String { func reversedWords() -> String { let words = self.split(separator: " ") return words.reversed().joined(separator: " ") } } // د پراختیا کارول let sentence = "سلام نړۍ" print(sentence.reversedWords()) // نتیجه: نړۍ سلام
په Swift کې، ټولګي یوازې-وراثت لري له یوه والد ټولګي څخه، خو کولی شي څو پروتوکولونه پلي کړي.