В чем разница между экземпляром и объектом? - PullRequest
70 голосов
/ 22 мая 2010

В чем разница между экземпляром и объектом?Есть ли разница или нет?

Ответы [ 20 ]

47 голосов
/ 22 мая 2010

Нет реальной существенной разницы, которая должна занимать слишком много вашего времени. Может быть, есть какой-то причудливый язык, о котором некоторые люди могут занять много места, чтобы писать, но в конце концов, что касается программиста, разработчика, программиста, архитектора, экземпляр класса и Объект означает одно и то же и часто может использоваться взаимозаменяемо. Я никогда не встречал никого в своей карьере, который был бы разборчив и потратил полчаса, пытаясь указать на различия, потому что на самом деле их нет. Время лучше потратить на другие усилия по развитию.

ОБНОВЛЕНИЕ Что касается Swift, то, что Apple, которая изобрела Swift, предпочитает:

Экземпляр класса традиционно известен как объект. Тем не мение, Классы и структуры Swift намного ближе по функциональности, чем в другие языки, и большая часть этой главы описывает функциональность, которая может применяться к экземплярам класса или типа структуры. Так как из этого используется более общий термин instance.

44 голосов
/ 22 мая 2010

Экземпляр - это объект в памяти. По сути, вы создаете объекты и создаете их экземпляры при их использовании.

Вот хорошая рецензия на Классы против Объектов против Экземпляров, он говорит на Java, но это относится ко всем ОО.

http://alfredjava.wordpress.com/2008/07/08/class-vs-object-vs-instance/

24 голосов
/ 22 мая 2010

Отличный вопрос.

Я объясню это самым простым способом: Скажем, у вас в корзине 5 яблок. Каждый из этих яблок является объектом типа Apple, который имеет некоторые характеристики (то есть большой, круглый, растет на деревьях).

В программировании у вас может быть класс под названием Apple, который имеет переменные размер: большой, форма: круглая, среда обитания: растет на деревьях. Чтобы в корзине было 5 яблок, вам нужно создать экземпляр 5 яблок. Apple apple1, Apple apple2, Apple apple3 etc....

В качестве альтернативы: объекты - это определения чего-то, экземпляры - это физические вещи.

Имеет ли это смысл?

9 голосов
/ 05 сентября 2013

Экземпляр: экземпляр означает просто создание ссылки (копии).

объект: означает, что ячейка памяти связана с объектом (является объектом времени выполнения класса) с помощью оператора new.

Проще говоря, Instance ссылается на копию объекта в определенное время, тогда как object ссылается на адрес памяти класса.

8 голосов
/ 22 мая 2010

Допустим, вы строите несколько стульев.

Диаграмма, показывающая, как собрать стул и собрать его, соответствует классу программного обеспечения.

Допустим, вы построили пять стульев в соответствии с рисунком на этой диаграмме. Аналогично, вы можете сконструировать пять программных объектов в соответствии с шаблоном в классе.

Каждый стул имеет уникальный номер, записанный в нижней части сиденья для идентификации каждого конкретного стула. Стул 3 является одним из экземпляров объекта стула. Аналогично, ячейка памяти 3 может содержать один экземпляр программного объекта.

Итак, экземпляр (стул 3) - это единственное уникальное, специфическое представление объекта (стул).

6 голосов
/ 22 марта 2013

Объект :

Это общий термин, в основном это пакет программного обеспечения, который имеет состояние (переменные) и поведение (методы)

Класс :

Синяя печать (шаблон) для экземпляра объекта - это уникальная вещь объекта, например, вы создаете объект два раза, что означает, что вы создали два экземпляра

Пустья приведу пример

Class student()
{
   private string firstName;
  public student(string fname)
  {
    firstName=fname;
  }
  Public string GetFirstName()
  {
    return firstName;
  }
}

Пример объекта :

Ученик s1 = новый ученик («Мартин»);Студент s2 = новый студент («Кумар»);

S1, s2 имеют объект класса Студент

Экземпляр :

s1 и s2являются экземплярами объекта ученика, эти два уникальные .

также могут быть названы reference .

в основном s1 и s2 являются переменными, которыеназначен объект

5 голосов
/ 01 марта 2016

Объекты и экземпляры в основном одинаковы; но с очень маленькой разницей. Если Car является классом, 3 Car s - это 3 разных объекта. Все эти объекты являются экземплярами. Таким образом, эти 3 машины являются объектами из экземпляров класса Car.

Но слово «экземпляр» может также означать «экземпляр структуры». Но объект предназначен только для занятий.

Все объекты являются экземплярами. Не все экземпляры должны быть объектами. Экземпляры могут быть «экземплярами структуры» или «объектами». Я надеюсь, что это прояснит вам разницу.

4 голосов
/ 22 мая 2010

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

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

Представьте себе продукт, похожий на компьютер.

Рабочая станция xw6400 является объектом

ВАША рабочая станция xw6400 (или рабочая станция YOUR WIFE xw6400) является экземпляром объекта рабочей станции xw6400

2 голосов
/ 22 мая 2010

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

2 голосов
/ 20 октября 2014

Объект - экземпляр класса, который имеет свое собственное состояние и доступ ко всему поведению, определенному его классом.

Экземпляр - ссылка на область памяти для этого конкретного класса.

...