|
0 / 0 / 1
Регистрация: 04.03.2018
Сообщений: 75
|
|
Объект и экземпляр класса. Есть ли разница?29.06.2018, 19:38. Показов 21826. Ответов 23
Метки нет (Все метки)
Разъясните пожалуйста, есть ли разница в понятиях объект и экземпляр класса?
С экземпляром класса все ясно, а вот понятие объект это то же что и экземпляр? Или есть какое то другое определение? Если есть разница, хотелось пример. Гуглил, единого ответа не нашел.
0
|
|
| 29.06.2018, 19:38 | |
|
Ответы с готовыми решениями:
23
Экземпляр и объект, в чем разница? Создание статической функции класса, которая принимает экземпляр этого же класса как объект Указатель на объект, или экземпляр класса? |
|
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
|
|
| 29.06.2018, 19:46 | |
|
Trunker, это очень правильный вопрос.
Экземпляр - нестатическая часть класса. Существуют еще статические члены класса в статической части класса. Очень часто объект приравнивают к экземпляру. Это нормально. Вы этого человека поймете. Так вот. Объект - это объединение экземпляра и статической части класса. Например, у 100 объектов одного класса будет одинаковая статическая часть. ------ Понимание смысла кишок класса пригодится вам и в изучении JavaScript. Небольшое отличие от C# - в JavaScript кишки вылезают наружу. Такой себе язык зомби.
1
|
|
|
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,233
|
||||||
| 29.06.2018, 19:57 | ||||||
|
amr-now, имхо Вы немного неверно говорите.
А вот тип - статика + экземплярные члены. Добавлено через 3 минуты Trunker, нет разницы.
1
|
||||||
|
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
|
|
| 29.06.2018, 20:06 | |
|
При изучении JavaScript становится лучше понятен смысл.
Если у C# нестатическую часть можно считать единым целым в виде слоеного торта из предков-потомков, и статическую часть в виде как бы единой по смыслу стопки раздельных тарелок статических слоев. То в JavaScript эти статические части сцепляются вагончиками, образуя локомотив (нестатическая часть) с очень длинным хвостом вагончиков статических частей. Вот такой он объект, панимаишь…
0
|
|
|
0 / 0 / 1
Регистрация: 04.03.2018
Сообщений: 75
|
|||
| 29.06.2018, 20:15 [ТС] | |||
|
0
|
|||
|
189 / 166 / 101
Регистрация: 14.03.2018
Сообщений: 426
|
||
| 29.06.2018, 20:18 | ||
|
Действительно, не совсем однозначный вопрос. Я тоже считал, что это одно и то же, за исключением того, что объект ещё может быть экземпляром типа-значения, но когда-то наткнулся на первое видео ITVDN базового курса по C# (доступно на YouTube), где на 35 минуте сказано, что "объекты содержат в себе статические поля и все методы", а "экземпляры содержат нестатические поля".
0
|
||
|
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
|
|
| 29.06.2018, 20:21 | |
|
Trunker, у типа есть как минимум два понимания.
1) Тип C# как объединение понятий класс+структура+перечисление+делегат… 2) Философское понимание типа - ярлык который можно прилепить к переменной. Но там очень длинная и мутная история. Придётся долго и нудно изучать, что такое DDD, компонентно-ориентированное программирование, утиная типизация и так далее. Полгода придется только вникать.
1
|
|
|
0 / 0 / 1
Регистрация: 04.03.2018
Сообщений: 75
|
|
| 29.06.2018, 20:23 [ТС] | |
|
0
|
|
|
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
|
|
| 29.06.2018, 20:30 | |
|
Trunker, кстати ещё один мутный вопрос:
что такое o.Method() ? Объект выполняет действие? А вот нет. На самом деле мы посылаем сообщение Method() объекту через контактную точку о То есть мы взаимодействуем с невидимым экземпляром через о просьбами. Это тоже сложно понять. (из книги Банды четырех, касательно Smalltalk)
0
|
|
|
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,233
|
|||||
| 29.06.2018, 20:53 | |||||
Сообщение было отмечено Trunker как решение
РешениеТолько с практикой и среди более опытных людей. Ну либо грамотно загуглить и сопоставить множество источников... ![]()
1
|
|||||
|
0 / 0 / 1
Регистрация: 04.03.2018
Сообщений: 75
|
||
| 29.06.2018, 21:02 [ТС] | ||
|
Point p = new Point(); т.е. если в классе Point есть статические поля, то p можно считать объектом?А если нет то это экземпляр?
0
|
||
|
189 / 166 / 101
Регистрация: 14.03.2018
Сообщений: 426
|
||
| 29.06.2018, 21:06 | ||
|
Trunker, то, что я процитировал автора видео, не означает, что я с ним согласен.
1
|
||
|
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
|
||
| 29.06.2018, 21:08 | ||
|
IamRain, джуниору бесполезны. А вот как начнет проектировать своё, тогда полезны.
Хотя и перегибов в другую сторону немало. В кровавой Java тонны примитивного кода, сиди лет пять и размазывай лапшу в своем секторе... Добавлено через 1 минуту
0
|
||
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
|||
| 29.06.2018, 21:20 | |||
|
0
|
|||
|
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
|
||
| 29.06.2018, 21:35 | ||
|
"An object is basically a block of memory that has been allocated and configured according to the blueprint. A program may create many objects of the same class. Objects are also called instances, and they can be stored in either a named variable or in an array or collection. " Так что понимаю топикстартера - в литературных источниках постоянно увиливают от ответа.
0
|
||
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
|
| 29.06.2018, 21:38 | |
|
0
|
|
|
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
|
|
| 29.06.2018, 21:41 | |
|
КОП, согласно упрощенному определению - да.
0
|
|
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
|
| 29.06.2018, 21:45 | |
|
0
|
|
|
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
|
|
| 29.06.2018, 21:47 | |
|
КОП, я не помню, откуда я помню, что объект является совокупностью состояния и поведения. Сорри. Сейчас некогда копать литературу.
0
|
|
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
||
| 29.06.2018, 21:49 | ||
|
0
|
||
| 29.06.2018, 21:49 | |
|
Помогаю со студенческими работами здесь
20
Ссылка на объект не указывает на экземпляр класса Ссылка на объект не указывает на экземпляр класса Как уничтожить экземпляр класса (объект)? Ссылка на объект не указывает на экземпляр класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|