Class va struct


ULASHISH

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

O‘zingiz sinab ko‘ring »




W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!