Запитання з тегом «object-oriented»

Методологія, яка дозволяє моделювати систему як сукупність об'єктів, якими можна модульно керувати та керувати ними

9
Як використовується поліморфізм у реальному світі? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 2 роки тому . Я намагаюся зрозуміти, як поліморфізм використовується в реальному проекті життя, але я можу знайти …

7
Чому створення екземпляра таким, яким воно є?
Я навчився C # протягом останніх півроку або близько того, і зараз заглиблююся в Java. Моє запитання стосується створення екземплярів (на будь-якій мові, справді), і це більше: мені цікаво, чому вони зробили це саме так. Візьмемо цей приклад Person Bob = new Person(); Чи є причина, що об’єкт вказується двічі? …

4
Чому слід визначати об’єкт Java за допомогою інтерфейсу (наприклад, Map), а не реалізації (HashMap)
У більшості кодів Java я бачу, як люди заявляють такі об'єкти Java: Map<String, String> hashMap = new HashMap<>(); List<String> list = new ArrayList<>(); замість: HashMap<String, String> hashMap = new HashMap<>(); ArrayList<String> list = new ArrayList<>(); Чому є перевагу визначати об’єкт Java за допомогою інтерфейсу, а не реальної реалізації, яка насправді …

5
Коли використовувати інтерфейси (тестування одиниць, IoC?)
Я підозрюю, що тут допустив помилку школяра, і шукаю роз'яснення. Багато класів у моєму рішенні (C #) - наважуся сказати, що більшість - я закінчив написати відповідний інтерфейс для. Наприклад, інтерфейс "ICalculator" та клас "Калькулятор", який реалізує його, хоча я ніколи не зможу замінити цей калькулятор іншою реалізацією. Крім того, …

6
Качка набирає підмножину поліморфізму
З поліморфізму на Вікіпедії В інформатиці поліморфізм - це мова мови програмування, яка дозволяє обробляти значення різних типів даних за допомогою єдиного інтерфейсу. Від набору качок у Вікіпедії У комп’ютерному програмуванні з об'єктно-орієнтованими мовами програмування типи качок - це стиль динамічного введення тексту, в якому поточний набір методів і властивостей …

5
Є об'єктивним принципом єдиної відповідальності?
Розглянемо двох дизайнерів інтерфейсу, які хочуть створити «привабливі для користувача» конструкції. "Привабливість користувача" - це поняття, яке не є об'єктивним і є лише у свідомості дизайнерів. Таким чином, дизайнер A міг, наприклад, підібрати червоний колір, а дизайнер B - синій. Дизайнер A створить макет, який повністю відрізняється від дизайнера B …

5
найкращий спосіб «представити» OOP / OOD команді досвідчених інженерів C ++
Я шукаю ефективний спосіб, який також не може образитись, щоб представити поняття ООП діючим членам команди? Мої товариші по команді не є новими мовами OO. Ми давно займаємось C ++ / C #, тому сама технологія знайома. Однак я оглядаюсь і без великих вкладень зусиль (здебільшого у вигляді оглядів коду), …

6
Метод ланцюга проти інкапсуляції
Існує класична проблема OOP методу ланцюга методів проти методів "єдиної точки доступу": main.getA().getB().getC().transmogrify(x, y) проти main.getA().transmogrifyMyC(x, y) Перший, мабуть, має перевагу в тому, що кожен клас відповідає лише за менший набір операцій, і робить все набагато більш модульним - додавання методу до C не вимагає жодних зусиль в A, B …

11
Що зробило об’єктно-орієнтоване програмування успішним? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …


4
Чому на Java не існує модифікатора доступу лише для підкласів?
У Java є чотири доступні модифікатори доступу для методів: public - будь-який клас може використовувати цей метод. protected - класи в одному пакеті і підкласи в будь-якому пакеті можуть використовувати цей метод. private - лише цей клас може використовувати цей метод. no modifier ("пакет приватний") - цей клас можуть використовувати …

4
Як я можу дізнатися, що мої дані є реляційними або об'єктно-орієнтованими за своєю природою?
Просто прочитайте ці рядки- Якщо ваші дані мають об’єктну природу, то використовуйте об'єкти зберігання ("NoSQL"). Вони будуть набагато швидшими, ніж реляційна база даних. Якщо ваші дані мають реляційний характер, накладні витрати реляційної бази даних варті того. від- http://seldo.com/weblog/2011/06/15/orm_is_an_antipattern Отже, як я можу знати, чи є мої дані реляційними за своєю …

6
Коли перерахунки НЕ кодовим запахом?
Дилема Я читав багато книг найкращих практик щодо об'єктно-орієнтованих практик, і майже кожна книга, яку я прочитав, мала частину, де вони кажуть, що перерахунки - це запах коду. Я думаю, що вони пропустили ту частину, де вони пояснюють, коли перерахунки дійсні. Як такий, я шукаю вказівки та / або випадки …

5
MVC: Чи регулятор порушує принцип єдиної відповідальності?
Принцип єдиної відповідальності зазначає, що "клас повинен мати одну причину зміни". У шаблоні MVC завданням контролера є посередництво між видом і моделлю. Він пропонує інтерфейс для представлення даних, щоб повідомляти про дії, здійснені користувачем на графічному інтерфейсі (наприклад, дозволити View зателефонувати controller.specificButtonPressed()), а також може викликати відповідні методи в моделі, …

4
Коли перенести загальне поле в базовий клас?
Наразі у мене є два похідні класи, Aі в Bобох є спільне поле, і я намагаюся визначити, чи повинен він переходити до базового класу. На нього ніколи не посилається базовий клас, і скажіть, якщо в якийсь момент по дорозі виведений інший клас C, який не має _field1, тоді не було …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.