Как да изтеглите атрибут

Съдържание:

Как да изтеглите атрибут
Как да изтеглите атрибут

Видео: Как да изтеглите атрибут

Видео: Как да изтеглите атрибут
Видео: Топ 5 HTML атрибутов, о которых ты не знал! // Spellcheck, contenteditable, download ... 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 {защитен: 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.

Препоръчано: