вот Вики пишит так:
Объект в программировании — некоторая сущность в виртуальном пространстве, обладающая определённым состоянием и поведением, имеющая заданные значения свойств (атрибутов) и операций над ними (методов)
Другие языки программирования и технологии
Что является 'сущностью' в программировании для Вас?
Сущность - очень общее понятие.
С практической точки зрения, всё, что вы можете назвать, является сущностью.
Но не любая сущность является объектом.
Первая часть определения "объект" мне нравится:
- сущность БЕЗ СОСТОЯНИЯ - НЕ объект (примеры: алгоритм, операция)
- сущность БЕЗ ПОВЕДЕНИЯ - НЕ объект (примеры: переменная, исходный код программы)
Поведение и состояние сильно взаимосвязаны, одно без другого не существует.
Под поведением объекта понимается его создание, инициализация состояния, организация смены состояния и удаление (прекращение актуальности) .
Со второй частью хуже, так как:
1. Атрибуты объекта могут не существовать (пример - статический объект, вызов методов которого не меняет состояния)
2. Методы объекта могут относиться (а чаще всего относятся) к ТИПУ объекта, а не к нему самому
3. В некоторых языках (пример: JavaScript) атрибуты и методы можно добавлять, изменять и удалять в процессе жизни объекта (НЕ ТИПА!!!).
С практической точки зрения, всё, что вы можете назвать, является сущностью.
Но не любая сущность является объектом.
Первая часть определения "объект" мне нравится:
- сущность БЕЗ СОСТОЯНИЯ - НЕ объект (примеры: алгоритм, операция)
- сущность БЕЗ ПОВЕДЕНИЯ - НЕ объект (примеры: переменная, исходный код программы)
Поведение и состояние сильно взаимосвязаны, одно без другого не существует.
Под поведением объекта понимается его создание, инициализация состояния, организация смены состояния и удаление (прекращение актуальности) .
Со второй частью хуже, так как:
1. Атрибуты объекта могут не существовать (пример - статический объект, вызов методов которого не меняет состояния)
2. Методы объекта могут относиться (а чаще всего относятся) к ТИПУ объекта, а не к нему самому
3. В некоторых языках (пример: JavaScript) атрибуты и методы можно добавлять, изменять и удалять в процессе жизни объекта (НЕ ТИПА!!!).
Именно так, как Вы написали. И даже структуры в языке Си (даже без ++) - тоже классы/объекты. Их поля - атрибуты, а функции типа void foo(MyStruct* ) - методы.
ООП это не конструкции языка, это стиль программирования.
ООП это не конструкции языка, это стиль программирования.
Эта сущность по имени С++ протрахала мой бедный моСК до дыр!
То, что описано в Вики. К примеру, человек - это объект, или человек - это сущность, а его атрибуты - это видеть, слышать, и т. д, и его операции (методы) бегать как-то или над чем-то, прыгать, и т. д.
А виртуальном мире, то есть, в программировании, например, объект класса Worker, который используется для работы с работниками из БД - это одна сущность, объект класса Manager - другая сущность.
А виртуальном мире, то есть, в программировании, например, объект класса Worker, который используется для работы с работниками из БД - это одна сущность, объект класса Manager - другая сущность.
Сергей Проскуренко
Хорошое простое объяснение, спасибо !
Понятие "сущность" для обычного человека и для программиста - это две большие разницы, поэтому, если вы общаетесь с программистом, то будьте осторожны (равно и наоборот, если программист общается с не программистом, то ему нужно быть внимательным).
Источник этого непонимания лежит в самом начале науки - у Аристотеля. Аристотель выделял два вида сущности: первую сущность и вторую сущность.
Первая сущность - это что-то конкретное, что существует в единственном экземпляре (конкретный Иван Иванович Иванов - это первая сущность).
Вторая сущность - это вид или род, к которому относится первая сущность. Иван Иванов (первая сущность) - программист (относится к виду программистов из рода человекоподобных). "Программист" в данном случае - это вторая сущность по Аристотелю.
Когда программисты используют слово "сущность", они, как правило, имеют в виду "первую сущность" по Аристотелю, то есть нечто уникальное, что нельзя ни с какой другой первой сущностью сравнить.
Когда слово "сущность" употребляет обычный человек, то он скорее всего имеет в виду "вторую сущность", то есть вид или род того, о чем ведется высказывание.
В известном анекдоте, про гражданина Козлова, переходящего дорогу в неположенном месте и услышавшего от автомобилиста фразу "для вас козлов подземных переходов понастроили", вся шутка состоит в путанице между первой и второй сущностями: для водителя гражданин Козлов отнесен к роду "козлов" по второй сущности, а для самого Козлова услышанное "козлов" - это его первая сущность.
Источник этого непонимания лежит в самом начале науки - у Аристотеля. Аристотель выделял два вида сущности: первую сущность и вторую сущность.
Первая сущность - это что-то конкретное, что существует в единственном экземпляре (конкретный Иван Иванович Иванов - это первая сущность).
Вторая сущность - это вид или род, к которому относится первая сущность. Иван Иванов (первая сущность) - программист (относится к виду программистов из рода человекоподобных). "Программист" в данном случае - это вторая сущность по Аристотелю.
Когда программисты используют слово "сущность", они, как правило, имеют в виду "первую сущность" по Аристотелю, то есть нечто уникальное, что нельзя ни с какой другой первой сущностью сравнить.
Когда слово "сущность" употребляет обычный человек, то он скорее всего имеет в виду "вторую сущность", то есть вид или род того, о чем ведется высказывание.
В известном анекдоте, про гражданина Козлова, переходящего дорогу в неположенном месте и услышавшего от автомобилиста фразу "для вас козлов подземных переходов понастроили", вся шутка состоит в путанице между первой и второй сущностями: для водителя гражданин Козлов отнесен к роду "козлов" по второй сущности, а для самого Козлова услышанное "козлов" - это его первая сущность.
Информационная сущность - это описание. Если мы смогли выделить у конкретного объекта какой-то набор свойств и присвоить им какие-то значения, а также (возможно, в имплицитном виде) задали для каждого из этих свойств множество допустимых значений, то мы выделили из окружающего хаоса информационную сущность. Теперь все объекты, обладающие тем же набором свойств (атрибутов, ключей, доменов) будут иметь ту же информационную сущность (относиться к ней, быть ее реализацией). Этой ИС нужно дать имя, анонимная ИС - это очень спорный вопрос. Скорей всего, в таком случае она не существует. Информационные сущности могут быть реализованы с помощью таких типов данных как запись (Паскаль), структура (С), класс (С++), словарь (Питон), объект (JS), ассоциативный массив (РНР) и с помощью таблиц (отношений) в СУБД.
Похожие вопросы
- Является ли "программирование в excel" программированием.
- Конец объектно-ориентированному программированию? Переходим от “черных” ящиков к ”белым” и ”прозрачным” ящикам?
- А какие языки программирования изучали в 80х и на чём вы их изучали?
- ОК. Куда, мать его, поступать-то? Или как я стал ненавидеть программирование
- Основы для программирования
- Вопрос для тех, кто уже опытный и профессиональный специалист в сфере программирования, web-программирования, дизайн!..
- Web программирование
- Какой язык программирования выбрать для изучения для начинающего ? (внутри)
- Помогите пожалуйста разобраться с вопросами по информатике и программированию
- С чего начать учение программированию? С каких языков программирования лучше начинать учиться программированию?