Class va struct
Swift class va struct
Oddiy ma’lumotlar uchun qiymat semantikasini (struct), umumiy identifikatsiya, vorislik yoki Objective-C bilan o‘zaro ishlash uchun esa havola semantikasini (class) tanlang.
Asosiy farqlar
- Nusxalash: Struct’lar o‘zlashtirishda va uzatishda nusxalanadi; sinflar havolalarni uzatadi.
- Vorislik: Sinflar vorislikni qo‘llab-quvvatlaydi; struct’lar esa qo‘llab-quvvatlamaydi.
- Identifikatsiya: Sinflar identifikatsiya semantikasiga ega; struct’lar qiymat bo‘yicha taqqoslanadi (Equatable bo‘lganda).
Misol
struct Point { var x: Int; var y: Int }
class Counter { var value = 0 }
var p1 = Point(x: 1, y: 2), p2 = p1 // copy
p2.x = 9 // p1.x remains 1
let c1 = Counter(), c2 = c1 // same instance
c2.value = 7 // c1.value is 7
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
