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

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

3
Об'єктно-орієнтоване програмування: Чому “орієнтоване”?
Я пройду більшу частину шляху через ступінь програмування ігор. Це не ступінь інформатики, тому багато теорії ухиляється на користь практичного створення портфоліо і того, що я бачу як навчання JIT, що, очевидно, важливіше в ігровій індустрії. Першим предметом було «Вступ до об’єктно-орієнтованого програмування». Ця фраза мене не турбувала, поки я …

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

5
Способи забезпечення унікальних примірників класу?
Хочете вдосконалити цю посаду? Надайте детальні відповіді на це запитання, включаючи цитати та пояснення, чому ваша відповідь правильна. Відповіді без достатньої кількості деталей можуть бути відредаговані або видалені. Я шукаю різні способи гарантувати, що кожен екземпляр даного класу є однозначним ідентифікаційним екземпляром. Наприклад, у мене є Nameклас з полем name. …

1
Як перевірити принцип заміщення Ліскова в ієрархії спадкування?
Натхненний цією відповіддю: Принцип заміщення Ліскова вимагає цього Передумови не можна посилити в підтипі. Послідовності не можуть бути ослаблені в підтипі. Інваріанти супертипу повинні зберігатися в підтипі. Обмеження історії ("правило історії"). Об'єкти вважаються модифікованими лише завдяки їх методам (інкапсуляція). Оскільки підтипи можуть вводити методи, відсутні в супертипі, то введення цих …

6
Поради щодо поширення об'єктно-орієнтованих практик [закрито]
Зачинено. Це питання поза темою . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для обміну стеками програмного забезпечення. Закрито 4 роки тому . Я працюю в середній компанії, яка налічує близько 250 розробників. На жаль, багато з них застрягли в процедурному способі мислення, …

9
Як розділити великі, щільно сполучені класи?
У мене є величезні класи з більш ніж 2-х рядків коду (і зростаючого), які я хотів би, якщо можливо, переробляти, щоб мати ще легкий і чистий дизайн. Причина вона така велика, головним чином, в тому, що ці класи обробляють набір карт, до яких потрібно отримати більшість методів, і методи дуже …

10
Чи дійсно орієнтація на об'єкти впливає на продуктивність алгоритму?
Об'єктна орієнтація мені дуже допомогла в реалізації багатьох алгоритмів. Однак, об'єктно-орієнтовані мови іноді спрямовують вас у прямолінійному підході, і я сумніваюся, чи такий підхід завжди хороший. OO дуже корисно швидко та легко в алгоритмах кодування. Але чи може цей OOP бути недоліком для програмного забезпечення на основі продуктивності, тобто як …

3
Поради щодо того, як зменшити використання класів «менеджер»?
Іноді я чую, що занадто багато класів «менеджер» у дизайні вашої програми викликає запах коду та додає зайвого шару складності. Для мене має сенс, що люди хочуть використовувати класи менеджерів для маніпулювання та управління об'єктами з контексту, який має для них сенс, але з'ясувати, як зробити так, щоб рішення працювало …

3
Анотація базового класу з інтерфейсами як поведінка?
Мені потрібно розробити ієрархію класів для мого проекту C #. В основному, функції класу схожі на класи WinForms, тому давайте візьмемо інструментарій WinForms як приклад. (Однак я не можу використовувати WinForms або WPF.) Є деякі основні властивості та функції, які повинен надати кожен клас. Розміри, положення, колір, видимість (справжня / …

6
Реальні сценарії для захищених методів
Сьогодні я помітив, що я в основному ніколи не використовую protectedметоди в коді С ++, тому що рідко відчуваю потребу викликати некритичні методи батьків. Я використовую захищені в Java схему методу шаблону, але оскільки ви можете перекрити приватні методи в C ++, мені це також не потрібно protected. Отже, які …

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

3
Чи слід додати конструктори до конструкцій?
Ми часто використовуємо структури c ++ для визначення структури даних на відміну від класу, який може бути повним модулем з методами-членами. Тепер у глибині душі ми знаємо, що вони обоє однакові (слабко кажучи). Той факт, що ми часто використовуємо / трактуємо структури як сукупності лише для даних, створює це заклик …

2
Об'єктно-орієнтоване та векторне програмування
Я розривається між об'єктно-орієнтованим та векторним дизайном. Я люблю здібності, структуру та безпеку, які об'єкти надають всій архітектурі. Але в той же час для мене дуже важлива швидкість, і наявність простих змінних плаваючих елементів в масиві дійсно допомагає в векторних мовах / бібліотеках, таких як Matlab або numpy в Python. …

6
Як реалізувати лише частину інтерфейсу
Під час розробки в OOP іноді інтерфейс / контракт надається бібліотекою, яку ви не можете змінити. Назвемо цей інтерфейс Дж. Тепер у вас є об'єкт класу A, який споживає об'єкти, що реалізують цей інтерфейс. Всередині Потрібна лише невелика частина визначень інтерфейсу. Деякі з об'єктних класів створюються мною під час проекту …


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