Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекції ООП1.doc
Скачиваний:
7
Добавлен:
17.11.2019
Размер:
554 Кб
Скачать
☆

Формат класу.

Клас, який описує об'єкт, що може містити ім'я та середній бал можна записати так;

// Клас dataset

class Student

{

private:

float serBall; public:

char firstName[128];

char lastName[128];

};

\\ екземпляр класу dataset

Student nds;

Оголошення класу починається з ключового слова class, після якого іде ім’я класу та пара фігурних дужок , які відкривають і закривають тіло класу.

Можна використовувати альтернативне ключове слово struct, яке повністю ідентичне class, з використанням оголошення public.

Після ключового слова public відбувається опис полів класу. У даному прикладі клас Student поля ім’я, прізвище та середній бал.

Звернення до членів класу

Звернутися до членів класу можна так:

Student nds;

nds. serBall = 3.8;

cin >> nds. firstName;

cin >> nds. lastName;

Тут nds – екземпляр класу Student (або окремий об’єкт типу Student).

Заняття №6 Тема: Ідентифікація об'єктів.

Мета: Ознайомлення з способами ідентифікації об'єкта. Областю дії ідентифікаторів. Описом об'єкту: інтерфейсом і реалізацією. Ідентифікацією показником.

План заняття:

  1. Ідентифікація назвою. Квалідент.

  2. Області доступу ідентифікаторів Індексування.

  3. Опис об'єкту: інтерфейс і реалізація.

  4. Тип адрес.

  1. Ідентифікація показником.

  2. Посилання.

  3. Вільний і обмежений показники.

  4. Показники і посилання.

1. Ідентифікація назвою.

Існує два основні способи ідентифікації об'єкта:

  1. іменування

  2. використовуючи вказівник.

Іменування полягає в призначенні об'єкту певного імені. Приклад:

{

…………опис полів…………

};

\\ екземпляр класу Student Student nds; \\ іменування

Квалідент.

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

2. Область доступу ідентифікаторів

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

Блок. Ідентифікатори, описані усередині блоку, є локальними. Область доступу ідентифікатора починається в точці визначення і закінчується в кінці блоку, видимість — в межах блоку і внутрішніх блоків, час життя — локальний. Після виходу з блоку пам'ять звільняється.

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

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

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

У кожній області доступу розрізняють так звані простори імен. Простір імен — область, в межах якої ідентифікатор повинен бути унікальним. У різних просторах імена можуть співпадати, оскільки дозвіл посилань здійснюється по контексту ідентифікатора в програмі, наприклад:

struct Node{

int Node;

int і;

} Node;

В даному випадку суперечності немає, оскільки імена типу, змінної і елементу структури відносяться до різних просторів. У С++ визначено чотири роздільні класи ідентифікаторів.

  • До одного простору імен відносяться імена змінних, функцій, типів, визначених користувачем (typedef) і констант переліків в межах однієї області видимості. Всі вони, окрім імен функцій, можуть бути перевизначені у вкладених блоках.

  • Інший клас імен утворюють імена типів переліків, структур, класів і об'єднань. Кожне ім'я повинне відрізнятися від імен інших типів в тій же області видимості.

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

Індексування

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