|
5 / 3 / 2
Регистрация: 27.04.2022
Сообщений: 63
|
|
Понимание основ ООП27.04.2022, 16:33. Показов 16488. Ответов 188
Метки нет (Все метки)
Добрый день!
Начал изучать ООП и сразу возникло непонимание на изучении классов. У любого класса есть набор своих индивидуальных свойств, но ведь есть и свойства, которые будут общими для всех классов. Например, температура и плотность, если мы говорим о материальных вещах. Да и вообще любые физические и химические свойства для всех материальных вещей будут общими: электропроводность, молярный вес и т. д. Понятно, что они будут иметь различные значения, но фундаментально эти понятия будут едиными для любых классов, выражающих эти самые материальные вещи. Соответственно, при создании объектов мне необходимо будет для каждого из них задавать свойство, допустим, «Температура» или языки ООП позволяют создать некое «глобальное, общее» свойство и при создании конкретного объекта я смогу присваивать ему это «глобальное» свойство, задавая лишь значение?
0
|
|
| 27.04.2022, 16:33 | |
|
Ответы с готовыми решениями:
188
Знание основ ООП/Джава освоение основ |
|
|
||
| 10.05.2022, 22:36 | ||
|
https://www.amazon.com/Object-... B00930I6TK
0
|
||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
|
| 10.05.2022, 22:39 | |
|
Определение из википедии:
Объе́ктно-ориенти́рованное программи́рование (сокр. ООП) — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования[1]. Обратите внимание, что если классы не образуют иерархию, то это уже не ООП.
0
|
|
|
821 / 580 / 75
Регистрация: 20.09.2014
Сообщений: 3,827
|
|||||
| 10.05.2022, 22:50 | |||||
|
Добавлено через 9 минут Из той же статьи Википедии про ООП:
0
|
|||||
|
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
|
|||
| 11.05.2022, 00:26 | |||
|
Добавлено через 4 минуты
0
|
|||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||||
| 11.05.2022, 00:38 | ||||
|
Например, в определении Алана Кэя:
0
|
||||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 11.05.2022, 00:51 | ||
|
Languages with abstract data type support which may be used to resemble OO programming, but without all features of object-orientation.
0
|
||
|
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
|
||
| 11.05.2022, 01:06 | ||
|
P.S. Какой чемпион мира по боксу считается "общепринятым"?
0
|
||
|
Нарушающий
417 / 305 / 46
Регистрация: 13.04.2022
Сообщений: 1,759
|
|
| 11.05.2022, 01:08 | |
|
http://wiki.c2.com/?DefinitionsForOo Там можно выбрать определение по душе.
DCOM можно привести как пример словарной ОО модели. Каждый объект определяет число и типы своих методов. Поэтому вместо "а, указатель на базовый класс! я могу рассчитывать на определенный набор методов!" там "вот там объект, у него есть названные методы некоторые из которых вам знакомы. Сами решайте, можете ли вы с ним работать". Т.е. вам дали не объект широкого класса "чемодан" который вы научились, а нечто с ручкой и колесиками. Там может быть кнопочка "заведись и поедь", но если вы этого не ожидали, потащите в формате чемодана, за ручку.
0
|
|
|
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
|
|
| 11.05.2022, 01:12 | |
|
0
|
|
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 11.05.2022, 01:21 | ||
|
Объекты включают данные и методы. Данные у каждого объекта свои, а методы общие для всех объектов данного типа. Если типы не связанны иерархией, то все адреса методов можно вычислить на этапе компиляции. То есть, можно обойтись без косвенной адресации. То же самое относится и к языкам со строгой динамической типизацией. Что касается утиной типизации, то тут наличие ООП определяется тем, как думает автор кода. Можно все объекты считать словарями, содержащие пары (имя, значение/функция). Тогда можно запихать в один список разнородные объекты (а по сути одинаковые - объекты типа "словарь") и во время исполнения надеятся, что в словаре найдётся пара с нужным ключом. Это не ООП подход. Можно все объекты в разнородном списке создать от одного прототипа (прямо или косвенно), тем самым гарантировав наличие в каждом из них метода с нужным именем. Это ООП подход. Можно считать, что все объекты с методом "абц" неявно реализуют соответствующий (неявный) интерфейс некого абстрактного типа данных. Тогда мы запихнули в список не разнородные объекты, а только те, которые этот интерфейс реализуют. Поддержка АТД в языке может быть реализована с помощью ОО подхода, как например в C# - наследованием от интерфейса. А, например, в Хаскеле поддержка АТД реализована через тайпклассы (не являются типом данных). То есть, использование АТД не делает Ваш код по сути объетно-ориентированным, но при этом в некоторых языках по форме он будет выглядеть, как объектно-ориентированный. Будет это ООП подходом или нет, зависит от того, ориентирутесь ли Вы на форму или на содержание (суть).
0
|
||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 11.05.2022, 01:25 | ||
|
0
|
||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 11.05.2022, 01:31 | ||
|
0
|
||
|
Нарушающий
417 / 305 / 46
Регистрация: 13.04.2022
Сообщений: 1,759
|
||
| 11.05.2022, 01:31 | ||
|
Пример словарного подхода: написать функцию сортировки животных по размеру клюва. Берутся все животные с методом/свойством "РазмерКлюва" и сортируются. Пример наследования для такой же задачи: Взять базовый тип птица. Но выпал утконос. Надо писать особый случай. И выпал кальмар. И осьминог. И ископаемые динозавры..
0
|
||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||||
| 11.05.2022, 01:51 | ||||
|
Добавлено через 58 секунд
0
|
||||
|
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
|
|||||
| 11.05.2022, 01:56 | |||||
|
Добавлено через 1 минуту Добавлено через 3 минуты
0
|
|||||
|
Нарушающий
417 / 305 / 46
Регистрация: 13.04.2022
Сообщений: 1,759
|
||
| 11.05.2022, 01:57 | ||
|
Inheritance => ADT (другими словами, ADT только возможно при наследовании). Edit: снимаю этот комментарий. Даже если это так, расщепление и уточнение терминов вряд ли способствует пониманию. Для современного ОО наследовательность обязательна, особые случаи VB/DCOM остаются особыми.
0
|
||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
|||
| 11.05.2022, 02:06 | |||
|
0
|
|||
|
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
|
|||
| 11.05.2022, 02:15 | |||
|
0
|
|||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
|||
| 11.05.2022, 02:15 | |||
0
|
|||
| 11.05.2022, 02:15 | |
|
Тесты на знание основ C++ Нужны основы основ Разбор основ qt widtgets C для изучения основ программирования
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
|
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи.
. . .
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|