Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Статьи » Розробка програми моделювання нейронної мережі

Реферат Розробка програми моделювання нейронної мережі





, причину легше знайти серед 20 класів, ніж серед 200 процедур.

Можна заперечити, що це не надто відрізняється ор принципу модульності. Процедурні програми можуть розбиватися на модулі, що обмінюються один з одним даними виключно за допомогою викликів процедур, не вдаючись до спільного використання даних. Якщо правильно користуватися цим прийомом, можна здійснити інкапсуляцію даних. Однак у багатьох мовах програмування найменше відхилення від цього підходу відкриває доступ до даних з іншого модуля - інкапсуляцію легко зруйнувати.

Є більш серйозна проблема: у той час як на основі класу можна створити кілька об'єктів з однаковою поведінкою, в процедурно-орієнтованих мовах неможливо отримати кілька копій одного модуля. Припустимо, ми досягли модульної інкапсуляції, об'єднавши сукупність замовлень разом з прекрасним збалансованим бінарним деревом, що забезпечує швидкий доступ. І раптом з'ясовується, що потрібно мати дві такі сукупності: одну для поточних замовлень, а іншу - для виконаних. Не можна просто двічі викликати модуль, який реалізує дерево замовлень. Для цього потрібно скопіювати і перейменувати всі процедури! Класи не мають таких обмежень. Визначивши одного разу клас, легко створити будь-яку кількість його примірників (у той час як модуль має тільки один екземпляр).

Ще один принцип, що забезпечує високу продуктивність ООП, полягає в тому, що кожен об'єкт призначений для виконання певних завдань. Якщо перед об'єктом стоїть завдання, для вирішення якої він не призначений, у нього повинен бути доступ до іншого об'єкта, який може це завдання вирішити. Потім перший об'єкт просить друга вирішити цю задачу. Це - узагальнений варіант виклику функцій, застосовуваного в процедурному програмуванні.


Малюнок 3.1 - Процедурне і об'єктно-орієнтоване програмування


Нагадаємо, що в мові Java це зазвичай називається викликом методу.

Зокрема, об'єкт ніколи не повинен безпосередньо маніпулювати внутрішніми даними іншого об'єкта, а також надавати іншим об'єктам прямий доступ до своїх даних. Усі зв'язки між ними забезпечуються за допомогою викликів методів. Інкапсуляція даних об'єкта максимально підвищує можливість його повторного використання, зменшує їх взаємозалежність і мінімізує час налагодження програми.

Зрозуміло, як і від модулів в процедурно-орієнтованому програмуванні, від об'єктів не слід ожидать занадто багато чого. І розробка, та налагодження програми, що складається їх невеликих об'єктів, що виконують невеликі завдання, набагато простіше в порівнянні з програмою, створеною з величезних об'єктів з дуже складними внутрішніми даними і сотнями функцій для маніпулювання ними.

Одна з основних переваг мови Java - незалежність від платформи, на якій виконується програма: один і той же код можна запустити під управлінням операційних систем Windows, Solaris, Linux, Macintosh та ін.

Інша перевага полягає в тому, що синтаксис мови Java схожий на синтаксис мови С ++, і програмістам, знайомим з мовами С і С ++, його вивчення не складе труднощів.

Крім того, Java - повністю об'єктно-орієнтована мова, навіть більшою мірою, ніж С ++. Всі сутності в мові Java є об'єктами, за винятком небагатьох основних типів, наприклад чисел. Однак, мати ще один, злегка поліпшений, діалект мови С ++ недостатньо, принципово важливо, що розробляти програми, що не містять помилок, на мові Java легше, ніж на мові С ++.

Чому? Розробники мови Java довго міркували про те, чому програми, написані на мову С ++, так схильні до помилок. Вони забезпечили мову Java засобами ,. Дозволяють виключити саму можливість створювати програми, в яких були б приховані найбільш поширені помилки. Для цього в мові Java зроблено наступне.

- Виключена можливість явного виділення і звільнення пам'яті. Пам'ять в мові Java звільняється автоматично за допомогою механізму збірки сміття. Програміст гарантований від помилок, пов'язаних з неправильним використанням пам'яті.

- Введені істинні масиви і заборонена арифметика покажчиків. Тепер програміст в принципі не може стерти дані з пам'яті внаслідок неправильного використання покажчиків.

- Виключена можливість переплутати оператори присвоювання з оператором порівняння на рівність. Тепер не можна навіть скомпілювати вираз if (ntries=3) ... (програмісти мовою Visual Basic можуть взагалі не помітити тут жодної проблеми, оскільки ця помилка - джерело більшості непорозумінь у мовах С і С ++).

- Виключено множинне спадкування. Воно замінено новим поняттям - інтерфейсом, запозиченим з мови Objectiv C. Інтерфейс дає програмісту майже все, що той може отримати від множинного спадкоємства, уникаючи при цьому складнощів, що виникають при управлінні ієрархіями класів.

Автори мови Java написали керівництво, в якому...


Назад | сторінка 11 з 34 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка програми побудови об'ємних гістограм за допомогою мови програм ...
  • Реферат на тему: Створення бази даних автомобілебудівного підприємства у вигляді настільного ...
  • Реферат на тему: Розробка програми на мові JAVA
  • Реферат на тему: Реалізація гри pong на мові Java за допомогою технології Socket
  • Реферат на тему: Розробка програмної системи для Вивчення іноземних слів з використанн мови ...