Поле класу
Матеріал з Seo Wiki - Пошукова Оптимізація та Програмування
Поле класу(змінна-член, data member, class field, instance variable) в об'єктно-орієнтованому програмуванні - змінна, пов'язана з класом або об'єктом. Усі дані об'єкта зберігаються у його полях. Доступ до полів здійснюється за їхнім ім'ям. Зазвичай, тип даних кожного поля задається в описі класу, членом якого є поле.
Зміст
Поля структур
Структурні типи, що підтримуються більшістю мов програмування (званіструктурами(structure) у Сі,записами(record) у Паскалі тощо. .), є окремим випадком класів - а саме, класами з одних тільки полів. Вся інформація, що стосується поля класів, однаково відноситься і до структурних типів.
Статичні поля
Зазвичай кожному об'єкту відповідають власні значення всіх його полів. Також до полів класу відносятьстатичніполя (static data members, static class fields, class variables) - поля, загальні всім об'єктів класу.
Статичні поля семантично не відрізняються від звичайних глобальних змінних, але вони доступні тільки за кваліфікованим ім'ям (тобто із зазначенням імені класу), і тому, на відміну від глобальних змінних, не захаращують простір глобальних імен.
У деяких об'єктно-орієнтованих мовах програмування, таких як Java, немає глобальних змінних, і тому статичні поля класів — єдиний спосіб збереження глобальних даних у програмах цими мовами.
Бітові поля
Деякі мови, такі як C++, дозволяють визначатибітовіполя. Ці поля займають менше однієї одиниці пам'яті (байт, слово); компілятор сам пакує кілька бітовихполів в одну одиницю пам'яті, дозволяючи при цьому звертатися до бітових полів як до окремих полів класу.
Поняттябітових полівне обмежується полями класів: за аналогією воно було перенесено і на інші випадки упаковки в одну одиницю пам'яті кількох значень, наприклад, у мережевих протоколах і форматах файлів.
Поради щодо використання
Зазвичай область доступу полів класу роблять закритою (private), тобто. доступ до них дозволяється лише методам того самого класу. Щоб надати користувачам класу значення його полів, використовуються властивості: вони дозволяють класу контролювати зміну його полів, наприклад, перевіряти належність заданого значення діапазону допустимих значень.
Коли доступ до поля інкапсулюється процедурами властивості, можна оновлювати код, який обробляє зміни значення цієї властивості, не порушуючи сумісність із існуючими користувачами класу. Тому прийнято створювати властивості для доступу до полів класу навіть тоді, коли на початковому етапі розробки не потрібно ніякої додаткової обробки значень, що присвоюються полю.
Приклади використання
У Пітоні поля та методи зазвичай називаються загальним терміноматрибути. Статичні атрибути можуть бути перевантажені в екземплярі. Атрибути екземпляра визначаються над структурі класу, а методах (наприклад, конструкторі). Атрибути, доступ до яких керується окремими методами, називаютьсявластивостями(синтаксично доступ до атрибутів та властивостей ідентичний):