Атрибутту кантип тартуу керек

Мазмуну:

Атрибутту кантип тартуу керек
Атрибутту кантип тартуу керек

Video: Атрибутту кантип тартуу керек

Video: Атрибутту кантип тартуу керек
Video: ИЧТИ КИРГИЗУУ ТОРОТТОН КИЙИН АРЫКТОО | ИЧТИ КИРГИЗУУ ЖОЛДОРУ| ИЧТЕГИ МАЙДЫ ЖОК КЫЛУУ|арыктау жолдары 2024, Май
Anonim

Класстын объектилери жана башка мисалдары менен иштөөдө атрибуттарга жетүү программист үчүн кадимки операциялардын бири болуп саналат. Коопсуздук ыкмаларын эске алганда, объектилерде сакталган айрым маалыматтарга жетүү кыйынга турушу мүмкүн. Ошентип, жеке жана корголгон спецификаторлор тарабынан жабылган атрибуттар класс инстанциясынан бир эле объектиге же балага (корголгон) класска таандык ыкмада гана чыгарылышы мүмкүн.

Атрибутту кантип тартуу керек
Атрибутту кантип тартуу керек

Нускамалар

1 кадам

Программага атрибутуңуз керек болгон класстын мисалына объект же көрсөткүч жаратыңыз. Мындай операция үчүн стандарттуу конструкция CMyClass myObj1 болуп саналат. Кээде, объектти инициализациялоо үчүн, класстык конструкторго белгилүү бир параметрлерди өткөрүп берүү керек. Бул учурда, объект жаратуу жазуусу мындай болуп калышы мүмкүн: CMyClass myObj1 (param1, param2, param3), мында CMyClass - класстын аты, myObj1 - түзүлүп жаткан объекттин аты, ал эми конструктор сураган бардык параметрлер келтирилген. кашаанын ичинде. Класстын нускасына көрсөткүч төмөнкүчө түзүлөт: CMyClass * pObj1 = жаңы CMyClass (param1, param2, param3).

2-кадам

Атрибутту чакыруунун эң жөнөкөй жолу - ага түздөн-түз программанын каалаган жерине шилтеме берүү. Бирок, бул ачык модификатору бар класста сүрөттөлгөн ачык маалыматтар үчүн гана мүмкүн. Объект аркылуу түздөн-түз кирүү мындай: myObj1.attr1, мында attr1 бул класстын атрибуту. Көрсөтүүчү үчүн мындай чакыруу болот: pObj1–> attr1.

3-кадам

Эгерде сизге кайрылуу керек болгон атрибут жашыруун статуска ээ болсо жана жеке модификатору бар класста сүрөттөлсө, анда ага кирүү ошол эле класска таандык ыкмада гана мүмкүн болот. Класстын ыкмасы же функциясы коомдук статуска ээ болушу керек. Керектүү атрибутту иштеп чыгууну жазган класска жаңы ыкманы кошуңуз. Бул учурда, айрым иш-аракеттердин аткарылышынын маанисине жараша параметрлерди функцияга өткөрүүгө болот. Функциянын өзү атрибуттун мазмуну сыяктуу маалыматтарды да кайтара алат. Жеке атрибуту менен иштөө үчүн эки функцияны тең аткарган C ++ программалык коду: CMyClass {protected: int attr1; // коомдук атрибут: void funcA1 (int param) {attr1 = param; } int funcA2 () {return attr1; }};

4-кадам

Ошентип, attr1 купуя атрибутун керектүү мааниге коюу үчүн, мурун түзүлгөн объектти колдонуп, ошол эле класстын ыкмасын чакырыңыз: myObj1.funcA1 (10) - окшош жашыруун иш-аракет менен, 10 мааниси attr1 атрибутуна жайгаштырылат. Класстын нускасына көрсөткүч менен иштөөдө, окшош амал төмөнкүдөй болот: рObj1–> funcA (10). Attr1 купуя атрибутун алуу жана анда сакталган маанини билүү үчүн класстын башка ыкмасын чакырыңыз: int Res = myObj1.funcA2 (). Мындай учурда Res бүтүн өзгөрмөсүнө жашыруун класс өзгөрмөсүнүн мааниси берилет.

5-кадам

Эгерде сиз балдардын класстарынын бардык объектилеринде корголгон статусу бар атрибутту чакырышыңыз керек болсо, анда анын өзгөрүлмө түздөн-түз кайрылыңыз. Бирок, чет элдик класстардын функцияларында иштеп жатканда, корголгон маалыматтарга жеткиликтүүлүктү жогоруда баяндалган ыкма менен алуу керек болот.

6-кадам

Атрибутту объект түзбөстөн чакыруу үчүн, анын конструкциясын класста статикалык деп жарыяла: static int attr1. Мындай учурда, атрибутту программа кодунун каалаган жеринен киргизип, CMyClass:: attr1.

Сунушталууда: