дар бораи занҷири меросии синфҳо дар Objective-C ё Swift гап занед.
sobes.tech AI
Ҷавоб аз AI
Дар Objective-C ҳар синф аз NSObject (ё аз зери синфи он) мерос мегирад, ки асосии синфи решии зиёди синфҳои объектӣ ва ғайристринг дар рамкаи Foundation мебошад. NSObject функсионалияти асосиро пешниҳод мекунад, ба монанди идоракунии хотира, тавсифи объектҳо, санҷиши баробарӣ ва introspection.
// Дар Objective-C, эълони синф автоматӣ мерос мегирад аз `NSObject`, агар дигар нишон дода нашуда бошад.
@interface MyClass : NSObject // Мероси ошкор аз `NSObject`.
// ...
@end
// Агар мероси ошкор набошад, ба таври пешфарз мерос мегирад аз `NSObject`.
@interface AnotherClass
// ...
@end
Дар Swift, синфҳо як синфи решии ягона надоранд, монанди NSObject дар Objective-C. Синф метавонад аз синфи дигар мерос гирад ва ин як hierarchical созад. Агар синф ба таври ошкор аз синфи дигар мерос нагирад, он дар hierarchy-и худ синфи решӣ мебошад. Мувофиқият бо Objective-C ва рамкаҳои Cocoa тавассути синфҳое, ки байни Swift ва Objective-C мост (bridged) шудаанд, таъмин карда мешавад, масалан, синфҳои Foundation.
// Синф бе мероси ошкор - дар hierarchy-и худ реш.
class MySwiftClass {
// ...
}
// Синф, ки аз синфи дигаре дар Swift мерос мегирад.
class AnotherSwiftClass: MySwiftClass {
// ...
}
// Синфи Swift, ки аз синфи Objective-C (масалан, аз Foundation) мерос мегирад.
import Foundation
class MyViewController: UIViewController { // UIViewController аз UIResponder мерос мегирад, ки аз NSObject мерос мегирад
// ...
}
Занҷираи мерос як силсила аз синфҳо аз кӯдак ба волида, то синфи решӣ (ки метавонад NSObject дар Objective-C ё синфи решӣ дар hierarchy-и Swift бошад) мебошад. Ин имкон медиҳад, ки синфҳои кӯдак аз хусусиятҳо ва усулҳои синфҳои волида истифода кунанд ва онҳоро иваз кунанд.