Програмиране в C Builder

Клас тип данни

След като направихме предварителни бележки относно концепциите на обектно-ориентирания подход, нека преминем към конкретно разглеждане на класовете, както са имплементирани в езика C++.

Първо, ще разгледаме най-простия пример за дефиниции на класове, които могат да бъдат поставени в заглавен файл. Това обикновено се прави, ако класовете трябва да са достъпни за няколко модула на програмата. Трябва да се припомни, че класът е разширение на концепцията за тип данни или по-скоро концепцията за структура. В C++ е обичайно да се говори само за типове; представител на клас вече не може да се счита само за данни, тъй като известно поведение е присъщо за него.

В известен смисъл обектът е същност. Програмата обикновено използва променливи, за да съхранява информация за различни обекти от реалния живот, като служители, книги и дори файлове. В обектно-ориентираното програмиране се фокусирате върху нещата, които изграждат системата, и операциите, които трябва да извършите върху тези неща. Например, за файлов обект, можете да имате операции, които отпечатват, показват или модифицират файла. В C++ можете да създадете тип данни - клас, който да дефинира вашите обекти. Вашата цел е да включите толкова информация за обекта, колкото е необходима в класа. Въз основа на това можете да вземете клас, който сте създали за една програма, и да го използвате в няколко различни програми.

Клас позволява на вашите програми да групират заедно данни, които дефинират свойствата на обект и функции, които извършват операции върху тези данни. В литературата по обектно-ориентираното програмиране функциите на даден клас се наричат ​​методи или функционални членове, а данните могат да се наричат ​​полета или членове на данни. Подобно на структура, C++ клас трябва да има уникално име, последвано отпоследвано от отваряща къдрава скоба, един или повече данни и функционални елементи и затваряща къдрава скоба:

int data_member; // Елемент от данни

void show_member(int); // членска функция

След като класът е дефиниран, можете да декларирате променливи от типа на този клас (наречени обекти), както е показано по-долу:

име_на_клас object_one, object_two, object_three;

Следната дефиниция създава клас служител, който съдържа дефиниции на данни и методи: