Objective-C və ya Swift-də sinif irs zəncirindən danışın.
sobes.tech Süni İntellekt
AI-dan cavab
Objective-C-də hər sinf NSObject (və ya onun alt sinfi) tərəfindən miras alınır, bu da Foundation çərçivəsində çoxsaylı obyekt yönümlü və string olmayan sinflərin kök sinfidir. NSObject əsas funksionallıq təmin edir, məsələn, yaddaş idarəsi, obyektlərin təsviri, bərabərlik yoxlaması və introspeksiya.
// Objective-C-də, sinifin elan edilməsi avtomatik olaraq `NSObject`-dən miras alınmağı nəzərdə tutur, başqa cür göstərilmədikdə.
@interface MyClass : NSObject // Açıqlanan miras `NSObject`.
// ...
@end
// Əgər açıq miras yoxdursa, o, standart olaraq `NSObject`-dən miras alır.
@interface AnotherClass
// ...
@end
Swift-də, siniflərin NSObject kimi tək kök sinfi yoxdur. Sinif başqa sinifdən miras ala bilər və bu, hierarxiya yaradır. Əgər sinif açıq şəkildə başqa sinifdən miras almırsa, o, öz hierarxiyasında kök sinif olur. Objective-C və Cocoa çərçivələri ilə uyğunluq, Swift və Objective-C arasında bridged (körpü) siniflər vasitəsilə təmin edilir, məsələn, Foundation-dan olan siniflər.
// Açıqlanmayan miras olan sinif - kökündə öz hierarxiyasında.
class MySwiftClass {
// ...
}
// Digər Swift sinifindən miras alan sinif.
class AnotherSwiftClass: MySwiftClass {
// ...
}
// Objective-C sinifindən miras alan Swift sinfi (məsələn, Foundation-dan).
import Foundation
class MyViewController: UIViewController { // UIViewController, UIResponder-dan miras alır, o da NSObject-dən.
// ...
}
Miras zənciri, uşaq sinifdən valideynə doğru gedən siniflər ardıcıllığıdır, kök sinifə (Objective-C-də NSObject və ya Swift hierarxiyasında kök sinif) qədər. Bu, uşaq siniflərin valideyn siniflərin xüsusiyyətlərini və metodlarını istifadə etməsinə və onları yenidən təyin etməsinə imkan verir.