ПРИНЦИПИ ОБ’ЄКТНО-ОРІЄНТОВАНОГО ПРОГРАМУВАННЯМОВА ПРОГРАМУВАННЯ JAVA
Номер слайду 2
Інкапсуляція. Наслідування. Поліморфізм. ЗМІСТ
Номер слайду 3
ООП базується на трьох фундаментальних принципах: інкапсуляції, наслідування й поліморфізму.Інкапсуляція – це механізм зв’язування даних і коду, який опрацьовує ці дані як єдине ціле. Інкапсуляція дозволяє захистити й дані, й код від зовнішнього впливу і зловживань. Дані для іншого коду можуть бути просто недоступними. Функцію контролю доступу до даних і коду як єдиного цілого покладено на їхній інтерфейс.Інкапсуляція
Номер слайду 4
Таким єдиним цілим у мові Java є клас. Детальніше класи ми розглянемо в наступній темі. У процесі створення класу визначаються код і дані, які власне і є цим класом. Код і дані називають членами класу. Дані, що містяться у класі, називають змінними екземпляра, а код, що їх опрацьовує, - методом. Дані й методи класу можуть спільно використовуватися набором об’єктів, кожний із яких має структуру і поведінку, що визначені саме цим класом.
Номер слайду 5
Наприклад, якщо у класі визначено дані про радіус основи та висоту конуса й код обчислення його об’єму, то можна отримати об’єми багатьох інших конусів (об’єктів). Отже, клас – це загальна, логічна конструкція, свого роду оболонка, яку можна розглядати як шаблон, на основі якого можна отримати скільки завгодно реальних об’єктів. Клас як оболонка може містити багато методів і даних. Одні з них можуть бути відкритими, інші – закритими. Сутність таких методів і даних пояснюється за допомогою схеми.
Номер слайду 6
Закриті методи ‘ дані доступні для коду тільки цього класу, а до відкритих можна звертатися з інших класів. Отже, будь-який код, який не є членом даного класу, не може отримати доступ до закритого методу або закритої змінної. Закриті члени класу доступні іншим програмам лише через відкриті методи класу. Цим забезпечується достатня безпека і надійність програми.
Номер слайду 7
Наслідування. Наслідування – це процес, у результаті якого один об’єкт отримує властивості іншого. У науці й практиці наслідування широко застосовують для ієрархічної класифікації об’єктів. На рис. Наведено приклад класифікації пам’яті комп’ютера.
Номер слайду 8
Кожний тип пам’яті, який розташований над тим, що аналізується в певний момент, називають батьківським, а той, що аналізується – дочірнім. Наприклад, якщо аналізується статична пам’ять, то вона є дочірньою, а батьківською для неї є енергонезалежна пам’ять. Водночас статична пам’ять є батьківською відносно синхронної пам’яті. Кожний дочірній тип пам’яті наслідує властивості батьківського класу пам’яті.
Номер слайду 9
Використання принципу наслідування дозволяє спростити опис об’єктів. Наприклад, для опису статичної пам’яті достатньо описати лише її специфічні властивості, а всі інші властивості є властивостями батьківських типів. Без використання принципу наслідування довелося б для кожного типу пам’яті перераховувати як його специфічні властивості, так і вся властивості батьківських типів. Батьківські класи у мові Java називають суперкласами, а дочірні – підкласами. Наслідування тісно пов’язане з інкапсуляцією. Це означає, що кожний підклас має ті самі властивості, що і його суперклас., а також деякі додаткові властивості, що визначають його спеціалізацію. Наприклад, динамічна пам’ять має всі властивості енергонезалежної пам’яті, а також власні специфічні властивості.
Номер слайду 10
Поліморфізм. Від гр. «багато форм» в ООП означає використання одного й того самого інтерфейсу для спільного класу дій. Наприклад, може бути використаний один і той самий інтерфейс для доступу до методів, що здійснюють пошук заданого елемента в одновимірному масиві, незалежно від того, чи елементами масиву є цілі числа або ж символи, оскільки алгоритм пошуку є єдиним. Поліморфізм дає змогу спростити програму, оскільки один і той самий інтерфейс забезпечує доступ до декількох методів одного класу.