2010-05-21 2 views
54

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

+9

Возможно, вы можете вывести из хорошо известного сообщения об ошибке «Ссылка на объект, не установленная в _инстамент объекта_». : -> – herzmeister

+0

Из спецификации JVM: «Объектом является либо динамически выделенный экземпляр класса, либо массив». Http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html – yfklon

+0

[ StackOverFlow] (http://stackoverflow.com/a/42753129/4156229) Я только что дал краткое описание различий между объектом и экземпляром. Надеюсь, это поможет. –

ответ

35

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

Вот хорошая запись в Classes Vs Objects Vs Instances, он говорит Java, но применим ко всем OO.

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

+1

В этом сообщении в блоге ничего не объясняется. –

4

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

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

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

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

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

0

Объект может быть класс, скажем, у вас есть класс с именем баскетбол.

но вы хотите иметь несколько баскетбольных так в вашем коде вы создаете более 1 баскетбол

говорит basketball1 и basketball2. Затем вы запускаете свое приложение. Теперь у вас есть 2 экземпляра объекта баскетбола.

+0

Это означает, что объект является экземпляром конструктора классов? – streetparade

+0

думаю об объекте, как в плане. скажем, у нас есть план для баскетбола, то есть класс. когда баскетбол создается и создается, и теперь он существует, так что это означает, что у нас есть 1 экземпляр объекта баскетбола. если мы построили еще один баскетбол с объекта (план). теперь у нас есть 2 баскетбола. Всегда есть только один объект, но мы можем сделать много экземпляров этого объекта. – Darxval

2

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

28

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

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

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

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

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

+27

Это не так. :) «Объекты - это определения чего-то». То, что вы называете объектами, - это классы. –

+0

Downvote, так как я согласен с комментарием выше. – khituras

31

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

UPDATE Что касается Swift, это то, что предпочитает Apple, который изобрел Swift:

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

4

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

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

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

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

Таким образом, экземпляр (стул 3) является единственным уникальным конкретным представлением объекта (стула).

3

Объект:

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

Класс:

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

Позвольте мне привести пример

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

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

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

s1, s2 возникают объект класса Student

Instance:

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

его можно назвать ссылка тоже.

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

1

каждый объект называется экземпляром своего класса, но каждый экземпляр класса имеет свое собственное значение для каждого атрибутов intances разделяет имя атрибута и работа с их значениями класса, но объект содержит неявную ссылку на его класс

8

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

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

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

+1

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

1

Если мы видим, определение объекта и экземпляра объекта -

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

Давайте посмотрим на определение экземпляра -

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

Теперь понять смысл любое распределение времени памяти запуск произойдет в C и через таНос, Calloc, перераспределить такие:

struct p 
{ 

} 
p *t1 
t1=(p) malloc(sizeof(p)) 

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

2

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

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

5

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

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

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

0

Класс: класс - синяя печать. Объект: Это копия класса. Экземпляр: его переменная, которая используется для хранения адреса памяти объекта.

Очень простой аналитический пример

Class House -> Blueprint дома. Но вы не можете жить в синей печати. Вам нужен физический Дом, который является экземпляром класса, в котором живет. То есть фактический адрес объекта является экземпляром. Экземпляры представляют объекты.

-2

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

Смежные вопросы