- •«Об'єктно-орієнтоване програмування»
- •Розділ 1.Теоретична частина
- •1.1 Еволюція технології програмування
- •1.2 Відмінності об’єктного та функціонального підходів програмування
- •1.3 Об'єктно-орієнтований підхід
- •1.3.1 Головні поняття і різновиди ооп
- •1.3.5 Поля об'єктів
- •1.3.6 Методи
- •1.3.2 Інкапсуляція
- •1.3.3 Спадкування як найважливіша властивість об'єкта
- •1.3.4 Примірники об'єктних типів
- •1.3.7 Поліморфізм
- •Розділ 2.Аналітична частина
- •2.1 Недоліки ооп
- •2.1.1Критика реклами ооп
- •2.1.2 Оспорювання ефективності розробки методами ооп
- •2.2 Продуктивність об'єктно-орієнтованих програм
- •Розділ 3.Дослідження стану ринку
- •3.1Інтегровані середовища проектування та їх вартість
- •Висновки
- •Список використаної літератури
1.3.7 Поліморфізм
Поліморфізм означає, що один і той же метод виконується по-різному для різних об'єктів. Наприклад, метод класу Музичний інструмент - PlayMusicForAnOrchestra (грай музику для оркестру) - може бути визначений як загальний метод, який може використовуватися з будь-якою категорією музичних інструментів. Цей метод написаний таким чином, що не важливо, який саме інструмент отримує завдання грати, проте для класів, що описують конкретні інструменти, даний метод повинен бути перевизначений (перемикач), що дасть можливість визначити конкретні дії, що враховують особливості даного інструменту.
Розділ 2.Аналітична частина
2.1 Недоліки ооп
Незважаючи на окремі критичні зауваження на адресу ООП, в даний час саме ця парадигма використовується в переважній більшості промислових проектів. Проте, не можна вважати, що ООП є найкращою з методик програмування у всіх випадках.
Критичні висловлювання на адресу ООП:
Була показана відсутність значущої різниці в продуктивності розробки програмного забезпечення між ООП і процедурним підходом
Крістофер Дейт вказує на неможливість порівняння ООП та інших технологій багато в чому через відсутність суворого і загальновизнаного визначення ООП.
Олександр Степанов в одному зі своїх інтерв'ю вказував, що ООП «методологічно неправильно» і що «... ООП практично така ж містифікація, як і штучний інтелект ...».
Фредерік Брукс вказує, що найбільш складною частиною створення програмного забезпечення є «... специфікація, дизайн і тестування концептуальних конструкцій, а аж ніяк не робота за висловом цих концептуальних конструкцій ...». ООП (поряд з такими технологіями як штучний інтелект, верифікація програм, автоматичне програмування, графічне програмування, експертні системи та ін.), На його думку, не є «срібною кулею», яка могла б на порядок величини знизити складність розробки програмних систем. Згідно Бруксу, «... ООП дозволяє скоротити тільки привнесений складність у вираз дизайну. Дизайн залишається складним за своєю природою ... ».
Едсгер Дейкстр вказував: «... те, про що суспільство в більшості випадків просить - це зміїне масло. Природно, "зміїне масло" має дуже вражаючі назви, інакше буде дуже важко щось продати: "Структурний аналіз і Дизайн", "Програмна інженерія", "Моделі зрілості", "Керуючі інформаційні системи" (Management Information Systems), "Інтегровані середовища підтримки проектів "," Об'єктна орієнтованість "," Реінжиніринг бізнес-процесів "...» .
Ніклаус Вірт вважає, що ООП - не більше ніж тривіальна надбудова над структурним програмуванням, і перебільшення її значущості, що виражається, зокрема, у включенні до мови програмування все нових модних «об'єктно-орієнтованих» коштів, шкодить якості розроблюваного програмного забезпечення.
Патрік Кіллел у своїй книзі «Тюнінг веб-сервера» писав: «... ООП надає вам безліч способів уповільнити роботу ваших програм ...».
У програмістські фольклорі набула широкого поширення критика об'єктно-орієнтованого підходу в порівнянні з функціональним підходом з використанням метафори «Королівства Іменників» з есе Стіва Йеггі.
Якщо спробувати класифікувати критичні висловлювання на адресу ООП, можна виділити кілька аспектів критики даного підходу до програмування.
