Объект в программировании
Автор Together задал вопрос в разделе Другие языки и технологии
Что является 'сущностью' в программировании для Вас? и получил лучший ответ
Ответ от Алексей Кузьминов[гуру]
Сущность - очень общее понятие.
С практической точки зрения, всё, что вы можете назвать, является сущностью.
Но не любая сущность является объектом.
Первая часть определения "объект" мне нравится:
- сущность БЕЗ СОСТОЯНИЯ - НЕ объект (примеры: алгоритм, операция)
- сущность БЕЗ ПОВЕДЕНИЯ - НЕ объект (примеры: переменная, исходный код программы)
Поведение и состояние сильно взаимосвязаны, одно без другого не существует.
Под поведением объекта понимается его создание, инициализация состояния, организация смены состояния и удаление (прекращение актуальности) .
Со второй частью хуже, так как:
1. Атрибуты объекта могут не существовать (пример - статический объект, вызов методов которого не меняет состояния)
2. Методы объекта могут относиться (а чаще всего относятся) к ТИПУ объекта, а не к нему самому
3. В некоторых языках (пример: JavaScript) атрибуты и методы можно добавлять, изменять и удалять в процессе жизни объекта (НЕ ТИПА!!!).
Эта сущность по имени С++ протрахала мой бедный моСК до дыр!
То, что описано в Вики. К примеру, человек - это объект, или человек - это сущность, а его атрибуты - это видеть, слышать, и т. д, и его операции (методы) бегать как-то или над чем-то, прыгать, и т. д.
А виртуальном мире, то есть, в программировании, например, объект класса Worker, который используется для работы с работниками из БД - это одна сущность, объект класса Manager - другая сущность.
Именно так, как Вы написали. И даже структуры в языке Си (даже без ++) - тоже классы/объекты. Их поля - атрибуты, а функции типа void foo(MyStruct* ) - методы.
ООП это не конструкции языка, это стиль программирования.
Понятие "сущность" для обычного человека и для программиста - это две большие разницы, поэтому, если вы общаетесь с программистом, то будьте осторожны (равно и наоборот, если программист общается с не программистом, то ему нужно быть внимательным).
Источник этого непонимания лежит в самом начале науки - у Аристотеля. Аристотель выделял два вида сущности: первую сущность и вторую сущность.
Первая сущность - это что-то конкретное, что существует в единственном экземпляре (конкретный Иван Иванович Иванов - это первая сущность).
Вторая сущность - это вид или род, к которому относится первая сущность. Иван Иванов (первая сущность) - программист (относится к виду программистов из рода человекоподобных). "Программист" в данном случае - это вторая сущность по Аристотелю.
Когда программисты используют слово "сущность", они, как правило, имеют в виду "первую сущность" по Аристотелю, то есть нечто уникальное, что нельзя ни с какой другой первой сущностью сравнить.
Когда слово "сущность" употребляет обычный человек, то он скорее всего имеет в виду "вторую сущность", то есть вид или род того, о чем ведется высказывание.
В известном анекдоте, про гражданина Козлова, переходящего дорогу в неположенном месте и услышавшего от автомобилиста фразу "для вас козлов подземных переходов понастроили", вся шутка состоит в путанице между первой и второй сущностями: для водителя гражданин Козлов отнесен к роду "козлов" по второй сущности, а для самого Козлова услышанное "козлов" - это его первая сущность.
что такое объект? (в информатике)
Объект в программировании — некоторая сущность в виртуальном пространстве, обладающая
подробнее...
Объектно ориентированное программирование. (ООП)
Так никто нормально и не ответил!
Три признака ООП: инкапсуляция, наследование и полиморфизм.
подробнее...
реализации матрицы доступа к объектам. Назовите три способа реализации матрицы доступа к объектам.
Матрица доступа? А что это вообще
подробнее...
что такое домен?
Домен (фр. domaine) — область; единица структуры:
Логотип Викисловаря
В Викисловаре есть
подробнее...
Что такое домен
Домен (фр. domaine) — область; единица структуры:
Домен (область) — владения короля либо
подробнее...
Что значит - домен
то что идет после точки в адресе сайта-например ex.ua -----> .ua и есть
подробнее...
Что такое домен? Если объяснять простым доступным языком. Изучаю Active Directory.
домен по отношению к локальной сети. В данном случае домен - это структурированная локальная сеть,
подробнее...
Что значит "null" в программировании?
Это 0 в виде указателя. Посмотри определение в include, сам увидишь. Какие проблемы.
подробнее...
что такое домен
Что такое домен?
Домен - это всего лишь адрес. Как адрес на доме. Вот Вы когда подходите к
подробнее...
Программисты в своей категории Программирование горделиво молчат. Мож здесь кто что знает?
Я Вас огорчу. Практика показывает что на otvet.mail.ru в разделе программирования программисты
подробнее...
Первый язык программирования.
Кто пишет "и другие очень лёгкие языки программирования" - тот может все осилить.
Здесь хают
подробнее...
Что такое поля классов в Java? Для чего они нужны? Как они применяются?
Переменные внутри класса.
Например button1.Width, здесь button1 объект класса Button, Width -
подробнее...
Что такое программирование???
создание компьютерной программы
человек пишет програмный текст который потом переводится в
подробнее...
Что такое библиотека в c++? Объясните, а то ничего не понимаю....
Фаил который содержит код. Когда подключаешь библиотеку, её код включается в твою программу. В коде
подробнее...