Sobes.tech
Junior — Middle

Care este diferența principală dintre o clasă și o structură în limbajele de programare?

sobes.tech AI

Răspuns de la AI

Основное отличие между классом и структурой в языках программирования, таких как Swift или C#, заключается в том, что класс — это ссылочный тип (reference type), а структура — это значимый тип (value type).

  • Класс (class): объекты класса хранятся в куче, при присваивании или передаче копируется ссылка на объект. Изменения через одну ссылку отражаются во всех остальных.
  • Структура (struct): при присваивании или передаче создаётся копия данных. Изменения в копии не влияют на оригинал.

Например, в Swift:

struct Point {
    var x: Int
    var y: Int
}

class Circle {
    var center: Point
    var radius: Double

    init(center: Point, radius: Double) {
        self.center = center
        self.radius = radius
    }
}

Здесь Point — структура, при копировании создаётся новый независимый экземпляр, а Circle — класс, объекты которого передаются по ссылке.