Прочитав несколько статей и услышав жаргон ООП (объектное, ориентированное программирование), мне стало любопытно, чем объект отличается от экземпляра. Что ж, после прочтения этой ветки о переполнении стека вы можете увидеть, сколько путаницы в этих двух.
Что ж, начнем с класса.
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()
Объект создается из класса. Теперь вы можете указать что-нибудь конкретное для каждого из созданных объектов, например, установить количество окон для этого здания.
И, наконец, экземпляр.
В терминах программирования мы обращаемся к объекту как к экземпляру класса или просто как к экземпляру. Итак, следуя тому, что мы сделали в коде выше, офис, дом и отель (объекты) являются экземплярами класса здания.