Прочитав несколько статей и услышав жаргон ООП (объектное, ориентированное программирование), мне стало любопытно, чем объект отличается от экземпляра. Что ж, после прочтения этой ветки о переполнении стека вы можете увидеть, сколько путаницы в этих двух.

Что ж, начнем с класса.

class Building() {
  var isDoor = false
  var numberOfWindows = 0 
 
  function openDoor -> Bool {
    isDoor = true
    return isDoor
  }
  function setNumberOfWindows(number: Integer) {
     self.numberOfWindows = number
  }
}

В приведенном выше классе Building мы только что определили свойство и функцию здания. Что такое класс. Определение или шаблон реальной вещи (или в терминах программирования объекта) или структуры данных.

Теперь объект.

var office = Building()
var house = Building()
var hotel = Building()

Объект создается из класса. Теперь вы можете указать что-нибудь конкретное для каждого из созданных объектов, например, установить количество окон для этого здания.

И, наконец, экземпляр.

В терминах программирования мы обращаемся к объекту как к экземпляру класса или просто как к экземпляру. Итак, следуя тому, что мы сделали в коде выше, офис, дом и отель (объекты) являются экземплярами класса здания.