2.2.Класс мүшелері
Класс объектісі құрылғаннан кейін ”нүкте” операциясын қолданып,
класты ашық мүшелеріне өтуге болады. Кейбір объектті құрғанда, оны
инициалдау керек. Бұл мақсат ұшін С++ конструктор деп аталатын
фнкция-мүше береді.
Класс конструкторы оның класының объектісі
құрылған сайын шақырылады.
Конструктор мүшесі болып келетін кластың аты қандай болса, оның да
аты сондай жəне ол қайтарылмалы мəнге иеленбеген. Класс деструкторы
объектті жою кезінде шақырылады.
Ол глобальды объекттерге
программааяқталған кезде шақырылады,
ал локальдылар үшін –
ол
көріну
облысынан
шыққанда.
Конструктор
мен
деструкторларға
көрсеткіштер алу мүмкін емес.Класс мүшелері statik модификаторымен
хабарлануы мүмкін. Кластың статистикалықмүшесі класс облысының
шегіне ғана кіру мүмкіндігі бар функция немесе глобальды айнымалы
сияқты қарастырыла алады.
Statik
модификаторымен анықталған
кластың дерек-мүшесі осы кластың барлық көрсетушілерімен бөлінеді,
себебі шын мəнініде бұл айнымалының тек бір ғана данасы бар. Шын
мəнінде,
статистикалық
деректер-мүшелер
жады
кластың
ешбір
көрсетушілері
болмаса
да
бөлінеді.Сондықтан
статистикалық
деректер-мүшелерді хабарлап қана қоймай, оларды анықтауы керек.
Статистикалық деректер-мүшелеріне қарапайым
функция-мүше
көмегімен кіру мүмкіндігінен еш айырмашылығы жоқ, бірақ ол үшін
берілген кластың кем дегенде бір объектісін құру керек. С++ тілі класқа
бір немесе бірнеше басқа кластардың дерек-мүше мен функция – мүше
мұрагерленуіне мүмкіндік береді. Бұдан жаңа класты туынды класс деп
атайды.Элементтері мұрагерленетін класты өзінің туынды класы үшін
арналған базалық класс депатайды. Мұрагерлік кластардың кейбір жалпы
қылықтарын
бір базалық класқа абстрактауға мүмкіндік береді.
Туынды кластар жалпы қылықтарды мұрагерлене базалық кластың кейбір
функция –мүшесін қайта анықтап, бірнеше өзгерту енгізе алады, немесе
жаңа дерек –мүше мен функция-мүше енгізу арқылы толтыра алады.
Кез-келген объект белгілі бір кластың өкілі, бір данасы немесе
айнымалысы болып есептеледі. Кластың құрамына өрістер, əдістер жəне
қасиеттер кіреді.Тума кластар өздерінде түпкі кластың барлық өрістерін
сақтап калады жəне оны өзгерте алмайды, алып тастауға да болмайды, тек
жаңа əрістермен толықтыруға болады.
Класс біртипті объектілерге
арналған шаблон жəне объектілі айнымалылар типтері мен əдістерін
анықтайтын
информациялардан
тұрады.
Класстар
жүйесі
қазіргі
программалау тілдерінде маңызды рөл атқарады. Объектілердің өзара
байланысуына хабарлар қолданылады жəне үш бөлімнен тұрады: объект
идентификаторы, ағымдағы объектіде қолданылатын əдіс аттары жəне
таңдалған əдіс режимін қалпына келтіретін қосымша информациялар.
Күрделі программалар бірнеше біртипті объектілерді қолдануы мүмкін.
Бұл жағдайда əр объект үшін əдістер мен айнымалылар туралы
информацияны жазу тиімсіз. Бұл мақсатқа объектілер класы деген түсінік
енгізілген. Барлық тілдерде стандартты типтер бар, мысалы int.Класстар
жүйесі қазіргі программалау тілдерінде маңызды рөл атқарады.
Объектілердің өзара байланысуына хабарлар қолданылады жəне үш
бөлімнен
тұрады:
объект
идентификаторы,
ағымдағы
объектіде
қолданылатын əдіс аттары жəне таңдалған əдіс режимін қалпына
келтіретін қосымша информациялар.
Класстар жүйесі қазіргі программалау тілдерінде маңызды рөл атқарады.
Объектілердің өзара байланысуына хабарлар қолданылады жəне үш
бөлімнен
тұрады:
объект
идентификаторы,
ағымдағы
объектіде
қолданылатын əдіс аттары жəне таңдалған əдіс режимін қалпына
келтіретін қосымша информациялар. Күрделі программалар бірнеше
біртипті объектілерді қолдануы мүмкін. Бұл жағдайда əр объект үшін
əдістер мен айнымалылар туралы информацияны жазу тиімсіз. Бұл
мақсатқа объектілер класы деген түсінік енгізілген. Барлық тілдерде
стандартты типтер бар, мысалы int.Кластар объектілер қандай берілгендер
мен функциялардан тұратындығын анықтайтын форма болып табылады.
Класты жариялау барысында ешқандай объект құрылмайды, мысалы int
типі int айнымалының бар екендігін білдермейтін сияқты. Яғни класс өзара
ұқсас объектілер жиынтығын сипаттау үшін қажет ұғым.Класқа тиісті
объекті
кластың
экземпляры
деп
аталады.
…
Класс қолданушы анықтайтын мəліметтердің абстарктілі типі болып
табылады,ол
мəліметтер
жəне олармен жұмыс істеуге арналған
функциялар түрінде берілген шынайы обьектінің үлгісін бейнелейді жəне
берілгендер
мен
оларға
қолданылатын
əрекеттерден
тұрады.
Инкапсуляция, қабылдаушылық жəне полиморфизм принциптеріне сəйкес
анықталатын объектілерді программада сипаттау жəне қолдану үшін
класс деп аталатын жаңа құрылымдық тип қарастырылады. Кез-келген
объект белгілі бір кластың өкілі, бір данасы немесе айнымалысы болып
есептеледі. Кластың құрамына өрістер, əдістер жəне қасиеттер кіреді.Тума
кластар өздерінде түпкі кластың барлық өрістерін сақтап калады жəне
оны өзгерте алмайды, алып тастауға да болмайды, тек жаңа əрістермен
толықтыруға болады. Класс біртипті объектілерге арналған шаблон жəне
объектілі
айнымалылар
типтері
мен
əдістерін
анықтайтын
информациялардан
тұрады.Программаның
құрамындағы
көптеген
элементтер (мысалы, терезелер, мəзірлер, батырмалар жəне т.б.),
программаға тұтастай қойылатын жəне программистің басқаруына
ыңғайланған белгілі бір объектілер ретінде қарастырылады. Бұл
объектілердің
инкапсуляция,
қабылдаушылық
жəне
полиморфизм
принциптеріне негізделген ерекше қасиеттері, əдістері жəне əрекеттері
болады. Объектіге бағдарланған программалаудың негізін құрайтын да осы
инкапсуляция, қабылдаушылық жəне полиморфизм принциптері.
Инкапсуляция, қабылдаушылық жəне полиморфизм принциптеріне
сəйкес анықталатын объектілерді программада сипаттау жəне қолдану
үшін
класс деп аталатын жаңа құрылымдық тип қарастырылады.
Кез-келген объект белгілі бір кластың өкілі, бір данасы немесе
айнымалысы болып есептеледі. Кластың құрамына өрістер, əдістер жəне
қасиеттер кіреді. Күрделі программалар бірнеше біртипті объектілерді
қолдануы мүмкін. .
Əрбір класс құрамында атауы класс атауымен бірдей болып келетін кем
дегенде бір əдіс
болады. Ол конструктор деп аталады
жəне класс
обьектісін
құру
кезінде автоматты шақырылады.Кластың немесе
объектінің əдістерін осы класқа енетін, процедуралар мен функциялар
құрайды. Олар кəдімгі процедуралар мен функциялар сияқты жазылады.
Кластың əдістерінің немесе процедура мен функциялардың тақырыбы
/мысалы, procedure Button1Click (Sender: TObject);/ программа модулінің
interfase - секциясындағы класты сипаттау бөлімінде жазылады да, ал
денесі əдістің қайсы класқа тиесілі екендігін көрсететін құрама атпен
/мысалы,
TForm1.Button1Click(Sender:
TObject);/
implementation
–
секцияда жазылады.С++ -те кез-келген класс үшін анықталған, кластың
жаңа данасын құратын конструктор жəне құрылған дананы жоятын
деструктор деп аталатын екі əдіс қарастырылған. TОbject класы жəне одан
тарайтын тума кластардың басым бөлігі үшін бұл əдістер сəйкесінше
Create жəне Destroy деп аталады.
…
Online C++ Compilere
Code,Compile,Run and Debug C++ program online.
Write your code in this editor and press ″Run″ button to compile and execute it.
⋕
include
⋕
include
class Person {
private:
…..
std: :string name;
…..
int age;
public:
.
Person(std: :string n,int a) : name(n), age(a)
﹛﹜
..
void displayInfo() {
.
std: :cout
❮❮
“Name: ”
❮❮
name
❮❮
”,Age: ”
❮❮
age
«
std: :end1;
﹜
int main() {
Person person1(
“John”
,
25
)
,,,,,,
person1.displayInfo();
,,,,,,
person1.setAge(
30
)
,,,,,
person1.displayInfo();
,,,,,
return
0
;
}
Online C++ Compilere
Code,Compile,Run and Debug C++ program online.
Write your code in this editor and press ″Run″ button to compile and execute it.
⋕
include
⋕
include
class Person {
private:
…..
std: :string name;
…..
int age;
public:
.
Person(std: :string n,int a) : name(n), age(a)
﹛﹜
..
void displayInfo() {
.
std: :cout
❮❮
“Name: ”
❮❮
name
❮❮
”,Age: ”
❮❮
age
«
std: :end1;
﹜
};
class Student : public Person {
private:
7
std: : string university;
public:
7
Student(std: :string n, int a, std: :string uni) :Person(n, a),university(uni){}
7777
void displayStudent Into() {
std: :cout « “Name
:"
« name « “ ‚ Age: “ « age « “ ‚ University: ” « university
« std: :end1;
}
};
int main() {
Student student1(
“Alice“
‚ 22‚ “ Example University“);
77
student1.displayStudentInfo();
77
return
0
; }
|