у класу-предка і дозволяє здійснити зв'язування імені методу в коді з різними класами - з об'єкта якого класу здійснюється виклик, з того класу і береться метод з даними ім'ям. Такий механізм називається динамічним (або пізнім) зв'язуванням - на відміну від статичної (раннього) зв'язування, здійснюваного на етапі компіляції. br/>
.3 Особливості реалізації структур складної програм
Як вже говорилося вище, в сучасних об'єктно-орієнтованих мовах програмування кожен об'єкт є значенням, що належать до певного класу. Клас являє собою оголошений програмістом складовою тип даних, що має в складі:
Поля даних
Параметри об'єкту (звичайно, не всі, а тільки необхідні в програмі), що задають його стан (властивості об'єкта предметної області). Іноді поля даних об'єкта називають властивостями об'єкта, через що можлива плутанина. Фізично поля являють собою значення (змінні, константи), оголошені як належать класу. p align="justify"> Методи
Процедури і функції, пов'язані з класом. Вони визначають дії, які можна виконувати над об'єктом такого типу, і які сам об'єкт може виконувати. p align="justify"> Взаємодія об'єктів в абсолютній більшості випадків забезпечується викликом ними методів один одного.
Інкапсуляція забезпечується наступними засобами
Контроль доступу
Оскільки методи класу можуть бути як чисто внутрішніми, що забезпечують логіку функціонування об'єкта, так і зовнішніми, за допомогою яких взаємодіють об'єкти, необхідно забезпечити прихованість перших при доступності ззовні других. Для цього в мови вводяться спеціальні синтаксичні конструкції, явно задають область видимості кожного члена класу. Традиційно це модифікатори public, protected і private, що позначають, відповідно, відкриті члени класу, члени класу, доступні тільки з класів-нащадків і приховані, доступні тільки усередині класу. Конкретна номенклатура модифікаторів і їх точний зміст різняться в різних мовах. p align="justify"> Методи доступу
Поля класу, в загальному випадку, не повинні бути доступні ззовні, оскільки такий доступ дозволив би довільним чином змінювати внутрішній стан об'єктів. Тому поля зазвичай оголошуються прихованими (чи мова в принципі не дозволяє звертатися до полів класу ззовні), а для доступу до знаходяться в полях даними використовуються спеціальні методи, звані методами доступу. Такі методи або повертають значення того чи іншого поля, або роблять запис в це поле нового значення. При записі метод доступу може проконтролювати допустимість записуваного значення і, при необхідності, провести інші маніпуляції з даними об'єкта, щоб вони залишилися коректними (внутрішньо узгодженими). Методи доступу називають ще аксессор (від англ. access