Hvordan Trekke Et Attributt

Innholdsfortegnelse:

Hvordan Trekke Et Attributt
Hvordan Trekke Et Attributt

Video: Hvordan Trekke Et Attributt

Video: Hvordan Trekke Et Attributt
Video: Узнав это СЕКРЕТ, ты никогда не выбросишь пластиковую бутылку! ТАКОГО ЕЩЕ НИКТО НЕ ВИДЕЛ! 2024, Kan
Anonim

Når du arbeider med objekter og andre forekomster av en klasse, er tilgang til attributter en av de vanlige operasjonene for en programmerer. Å få tilgang til visse data som er lagret i objekter kan være vanskelig, gitt sikkerhetsmetodene som brukes for dem. Så attributtene som er lukket av de private og beskyttede spesifikatorene, kan bare trekkes ut av en klasseinstans i en metode som tilhører et objekt av samme eller en underordnet (for beskyttet) klasse.

Hvordan trekke et attributt
Hvordan trekke et attributt

Bruksanvisning

Trinn 1

Lag et objekt eller en peker til en forekomst av klassen hvis attributt du trenger i programmet ditt. Standardkonstruksjonen for en slik operasjon er CMyClass myObj1. Noen ganger må du sende visse parametere til klassekonstruktøren for å initialisere et objekt. I dette tilfellet kan registreringen av oppretting av objekt se slik ut: CMyClass myObj1 (param1, param2, param3), der CMyClass er klassenavnet, myObj1 er navnet på objektet som opprettes, og alle parametere som konstruktøren krever, er oppført i parentes. En peker til en klasseinstans opprettes som følger: CMyClass * pObj1 = new CMyClass (param1, param2, param3).

Steg 2

Den enkleste måten å ringe et attributt på er å henvise til det direkte hvor som helst i programmet. Dette er imidlertid bare mulig for åpne data beskrevet i en klasse med det offentlige modifikatoren. Direkte tilgang gjennom et objekt ser slik ut: myObj1.attr1, hvor attr1 er et attributt for denne klassen. For en peker vil samtalen være: pObj1–> attr1.

Trinn 3

Hvis attributtet du trenger å henvise til har skjult status og er beskrevet i en klasse med den private modifikatoren, er tilgang kun til den mulig fra en metode som tilhører samme klasse. Metoden eller funksjonen til klassen må ha offentlig status offentlig. Legg til en ny metode i klassen, der skriv behandlingen av det nødvendige attributtet. I dette tilfellet kan parametere overføres til funksjonen, avhengig av verdien som bestemte handlinger utføres for. Selve funksjonen kan også returnere data, for eksempel innholdet i et attributt. C ++ programkode som implementerer begge funksjonene for å jobbe med et privat attributt: klasse CMyClass {beskyttet: int attr1; // offentlig attributt: void funcA1 (int param) {attr1 = param; } int funcA2 () {return attr1; }};

Trinn 4

For å sette den private attributtet attr1 til verdien du trenger, kaller du en metode av samme klasse ved hjelp av det tidligere opprettede objektet: myObj1.funcA1 (10) - ved en lignende implisitt operasjon blir verdien 10 plassert i attr1-attributtet. Når du arbeider med en peker til en forekomst av en klasse, vil en lignende operasjon se slik ut: рObj1–> funcA (10). For å hente det private attributtet attr1 og finne ut verdien som er lagret i den, ring en annen metode i klassen: int Res = myObj1.funcA2 (). I dette tilfellet tildeles heltallvariabelen Res verdien av den skjulte klassevariabelen.

Trinn 5

Hvis du trenger å ringe et attributt med beskyttet status i alle objekter i underordnede klasser, se variabelen direkte. Imidlertid, når du arbeider i funksjoner i utenlandske klasser, må tilgang til beskyttede data oppnås på den måten som er beskrevet ovenfor.

Trinn 6

For å ringe et attributt uten å opprette et objekt, erklær variabelen i klassen som statisk ved hjelp av følgende konstruksjon: statisk int attr1. I dette tilfellet kan du trekke ut attributtet hvor som helst i programkoden ved å spesifisere oppføringen: CMyClass:: attr1.

Anbefalt: