АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Доступ до методів

Читайте также:
  1. Access.conf : файл доступа к серверу
  2. Аварійний (ловильний) інструмент для обертальних методів буріння.
  3. Адресна доступність
  4. БИОЛОГИЧЕСКАЯ ДОСТУПНОСТЬ ЛЕКАРСТВЕННЫХ СРЕДСТВ
  5. В соединении с расположением на высокой горе с крутыми склонами это была труднодоступная крепость.
  6. Вибір методів навчання
  7. Влияние вспомогательных веществ и вида грануляции на биодоступность лекарственных веществ из таблеток
  8. Вопрос 4. Транспортная доступность и обеспеченность.
  9. Группы пользователей. Права доступа
  10. Доступ абонентських систем до загального середовища передачі
  11. ДОСТУП ДО ВІРТУАЛЬНИХ МЕТОДІВ ЧЕРЕЗ ВКАЗІВНИКИ__________________________________
  12. ДОСТУП ДО ЗВИЧАЙНИХ МЕТОДІВ ЧЕРЕЗ ВКАЗІВНИК___________________________________

Кожен метод має модифікатор доступу, що приймає одне з чотирьох значень: public, private, protected, internal. Модифікатором доступу за умовчанням є модифікатор private. Незалежно від значення модифікатора доступу, всі методи доступні для виклику при виконанні методу класу. Якщо методи мають модифікатор доступу private, можливо, опущений, то тоді вони доступні для виклику тільки всередині методів самого класу. Такі методи вважаються закритими. Зрозуміло, що клас, у якого всі методи закриті, абсурдний, оскільки ніхто не зміг би викликати жоден з його методів. Як правило, у класі є відкриті методи, що задають інтерфейс класу, і закриті методи. Інтерфейс – це лице класу, саме він визначає, чим клас цікавий своїм клієнтам, що він може робити, які сервіси надає клієнтам. Закриті методи складають важливу частину класу, дозволяючи клієнтам не вникати в деталі реалізації. Ці методи клієнтам класу недоступні, вони про них можуть нічого не знати, і, найголовніше, зміни в закритих методах ніяк не відображаються на клієнтах класу за умови коректної роботи відкритих методів.

Якщо деякі методи класу A повинні бути доступні для викликів у методах класу B, що є нащадком класу A, то такі методи слід забезпечити атрибутом protected. Якщо деякі методи повинні бути доступні тільки для методів класів B 1, B 2 і так далі, дружніх по відношенню до класу A, то такі методи слід забезпечити атрибутом internal, а всі дружні класи B помістити в один проект. Якщо деякі методи повинні бути доступні для методів будь-якого класу B, якому доступний сам клас A, то такі методи забезпечуються атрибутом public.

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

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

Той факт, що інкапсуляція дозволяє ховати інформацію від користувача, має наступні наслідки:

- спрощується використання окремих об'єктів, оскільки користувач не вникає в подробиці способу їхньої реалізації;

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

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

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

Оскільки об'єкти є самодостатніми одиницями, імовірно, корисно було б мати методи, що обробляють специфічні ситуації створення і видалення об'єктів. Дійсно, такі спеціальні методи існують і називаються, відповідно, конструкторами (constructor) і деструкторами (destructor).


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)