Вопросы с тегом «object-oriented»

Методология, которая позволяет моделировать систему как набор объектов, которыми можно управлять и манипулировать модульным способом

4
Так что же на самом деле имел в виду Алан Кей под термином «объектно-ориентированный»?
Как сообщается, Алан Кей является изобретателем термина «объектно-ориентированный». И его часто цитируют так, как будто он сказал, что то, что мы сегодня называем ОО, не имеет в виду. Например, я только что нашел это в Google: Я придумал термин «объектно-ориентированный» и могу сказать, что я не имел в виду C …

10
Нулевое поведение объектов в ООП - моя дилемма дизайна
Основная идея ООП состоит в том, что данные и поведение (на основе этих данных) неразделимы, и они связаны идеей объекта класса. У объекта есть данные и методы, которые работают с этим (и другими данными). Очевидно, что по принципам ООП объекты, представляющие собой просто данные (например, структуры C), считаются анти-паттернами. Все …

5
Функциональное программирование против ООП [закрыто]
В последнее время я много слышал об использовании функциональных языков, таких как Haskell. Каковы некоторые из больших отличий, плюсов и минусов функционального программирования от объектно-ориентированного программирования?

12
Почему C не считается «объектно-ориентированным» языком?
Кажется, что у С есть свои квазиобъекты, такие как «структуры», которые можно рассматривать как объекты (на высоком уровне, который мы обычно думаем). Кроме того, сами файлы C в основном являются отдельными "модулями", верно? Тогда разве модули тоже не похожи на «объекты»? Меня смущает, почему C, который кажется очень похожим на …

22
Почему ООП сложно? [закрыто]
Когда я начал использовать объектно-ориентированный язык (Java), я просто стал «крутым» и начал писать код. Я никогда не задумывался об этом до недавнего времени, прочитав много вопросов об ООП. Общее впечатление, которое я получаю, это то, что люди борются с этим. Поскольку я не думал об этом как о сложном, …

15
Что делает C таким популярным в эпоху ООП? [закрыто]
Я много пишу на C и C ++, но не ожидал, что C будет вторым по популярности языком, немного уступая Java. Индекс сообщества программистов TIOBE Мне любопытно, почему в этом веке ООП C все еще так популярен? Обратите внимание, что 4 из 5 популярных языков программирования являются «современными» объектно-ориентированными языками. …

22
ООП сложно, потому что это не естественно?
Часто можно услышать, что ООП естественно соответствует тому, как люди думают о мире. Но я бы категорически не согласился с этим утверждением: мы (или, по крайней мере, я) концептуализируем мир с точки зрения отношений между вещами, с которыми мы сталкиваемся, но в центре внимания ООП находится разработка отдельных классов и …

10
Как вы избегаете добытчиков и сеттеров?
У меня были некоторые трудности с дизайном классов. Я читал, что объекты раскрывают их поведение, а не данные; следовательно, вместо использования методов получения / установки для изменения данных, методы данного класса должны быть «глаголами» или действиями, действующими на объект. Например, в объекте «Счета», мы имели бы методы Withdraw()и Deposit()вместо того …

4
Богатые доменные модели - как именно вписывается поведение?
В дебатах моделей предметной области Rich против Anemic Интернет полон философских советов, но не хватает авторитетных примеров. Цель этого вопроса - найти четкие рекомендации и конкретные примеры правильных моделей проектирования на основе доменов. (В идеале в C #.) Для реального примера эта реализация DDD кажется неправильной: Приведенные ниже модели доменов …

13
Должны ли объекты в ООП представлять сущность?
Должен ли объект представлять сущность? Под организацией я имею в виду нечто вроде Product, Motor, А и ParkingLotт.д., физическая, или даже четкий нефизических концептуального объекта - то , что хорошо определен, с некоторыми основными данными явно принадлежащими к объекту, а также некоторые функции / методы которые четко оперируют основными данными. …

2
Существуют ли какие-либо ОО-принципы, которые практически применимы для Javascript?
Javascript - это объектно-ориентированный язык на основе прототипов, но он может быть основан на классах различными способами: Написание функций для самостоятельного использования в качестве классов Используйте изящную систему классов в фреймворке (например, mootools Class.Class ) Создайте его из Coffeescript Сначала я писал код на основе классов в Javascript и очень …

12
В чем преимущество объектно-ориентированного программирования перед процедурным программированием?
Я пытаюсь понять разницу между процедурными языками, такими как C, и объектно-ориентированными языками, такими как C ++. Я никогда не использовал C ++, но я обсуждал со своими друзьями, как их различать. Мне сказали, что C ++ имеет объектно-ориентированные концепции, а также публичные и частные режимы для определения переменных: вещей, …

11
Почему базовые для всех объектов не рекомендуется в C ++
Страуструп говорит: «Не изобретайте сразу уникальную базу для всех ваших классов (класс Object). Как правило, вы можете сделать это лучше для многих / большинства классов». (Язык программирования C ++, четвертое издание, раздел 1.3.4) Почему базовый класс для всех вообще плохая идея, и когда имеет смысл создавать ее?

4
Почему многие разработчики программного обеспечения нарушают принцип открытого / закрытого?
Почему многие разработчики программного обеспечения нарушают принцип открытия / закрытия , изменяя многие вещи, такие как переименование функций, которые нарушают работу приложения после обновления? Этот вопрос приходит мне в голову после быстрой и непрерывной версий в библиотеке React . Каждый короткий период я ​​замечаю множество изменений в синтаксисе, именах компонентов …

7
Почему есть частные статические методы?
Я просто хотел прояснить вопрос, который у меня есть. Какой смысл иметь приватный статический метод в отличие от обычного метода с приватной видимостью? Я бы подумал, что преимущество статического метода состоит в том, что он может быть вызван без экземпляра класса, но, поскольку его закрытый объект даже имеет смысл быть …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.