Junior — Middle
Ի՞նչ գործողություններ կամ հատկություններ հասանելի են դասի սահմանման ժամանակ, որոնք չունեն կառուցվածքում։
sobes.tech AI
Պատասխան AI-ից
Swift-ում դասերը ունեն մի շարք առանձնահատկություններ, որոնք չունեն կառուցվածքները:
- Երասխություն: դասերը կարող են ժառանգել այլ դասերից, ինչը թույլ է տալիս ստեղծել հիերարխիաներ և վերագրել մեթոդներ:
- Deinitializer-ներ (deinit): դասերը կարող են ունենալ deinitializer-ներ, որոնք ազատում են ռեսուրսները, երբ օրինակն ջնջվում է:
- Հղման տեսակ: դասերը փոխանցվում են հղումով, մինչդեռ կառուցվածքները՝ արժեքով:
- Արժեքների տեսակներ: դասերը կարող են ունենալ հատկություններ, որոնք հղումներ են օբյեկտներին, ինչը ազդում է հիշողության կառավարմանը:
- Հնարավորություն օգտագործել
weakևunownedհղումներ՝ ուժեղ հղումային շրջանների կանխարգելման համար:
Օրինակ՝ դաս, որը ունի deinitializer:
class Person {
var name: String
init(name: String) {
self.name = name
}
deinit {
print("Person \(name) վերականգնվում է")
}
}