Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КласиС++Цикли.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
269.31 Кб
Скачать

Функції-члени

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

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

Наприклад, у вас є клас для запису та відтворення звуку. В цьому класі відкритими можуть бути функції типу Open(), Play(), Record(), Save() й т.д.

Закриті функції-члени призначені лише для використання самим класом. Вони скриті від зовнішнього світу.

Захищені функції-члени – це функції, доступні тільки для тих класів, які є похідними даного класу. Доступ ззовні до цих функцій неможливий.

Класи в C++ Builder

C++ Builder сам виконує значну кількість роботи з генерації програмного коду. C++ Builder вже має готову бібліотеку класів (бібліотеку візуальних компонентів VCL), які підтримують форму та різноманітні її компоненти.

Наприклад, клас TForm підтримує мінімальну форму в додатку C++ Builder. Коли ви створюєте новий проект, C++ Builder автоматично оголошує для підтримки головної форми проекту клас TForm1, як похідний від класу TForm.

Розглянемо фрагмент коду певного проекту, згенерований C++ Builder у відповідь на дії користувача:

class TForm1 : public TForm { __published: // IDE-managed Components TButton *Button1; TEdit *Edit1; TBevel *Bevel1; TBitBtn *BitBtn1; TLabel *Item1; TLabel *Item2; void __fastcall FormCreate(TObject *Sender); void __fastcall Button1Click(TObject *Sender); void __fastcall BitBtn1Click(TObject *Sender); void __fastcall Edit1KeyPress(TObject *Sender, char &Key); void __fastcall Edit2KeyPress(TObject *Sender, char &Key); void __fastcall Edit1Exit(TObject *Sender); void __fastcall Edit1Enter(TObject *Sender); private: // User declarations public: // User declarations __fastcall TForm1(TComponent* Owner); };

Як ви бачите, форма – це приклад класу. Вона має базовий клас (TForm), певну кількість полів (6) та функцій обробки подій (7).

Зверніть увагу на розділ __published в класі TForm1. Ключове слово __published не є частиною стандартного С++, а додане розробниками Borland С++ Builder. Розділ __published використовується середовищем С++ Builder при взаємодії з компонентами. Ви не повинні вносити ніяких змін в цей розділ.

Поліморфізм - це використання одного і того самого коду для даних різніх обьектів…

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

Приклад на С++

class Point {

int x,y;

boolean visible;

void create (int a, int b) {

x=a; y=b;

visible = false;

}

void switchOn(){

visible = true;

}

int getX() {

return x;

}

}

В даному прикладі такими правилами можуть бути, наприклад, операція створення точки (установка значень координат), а також операції “ввімкнення” і “вимкнення” точки та переміщення її в інше місце екрану.

успадкува́ння — метод утворення нових класів на основі використання вже існуючих.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]