Hoe Om 'n Eienskap Te Trek

INHOUDSOPGAWE:

Hoe Om 'n Eienskap Te Trek
Hoe Om 'n Eienskap Te Trek

Video: Hoe Om 'n Eienskap Te Trek

Video: Hoe Om 'n Eienskap Te Trek
Video: СНЮСОЕД КТО ЭТО ? Все виды снюсоедов ! 2024, Mei
Anonim

As u met voorwerpe en ander gevalle van 'n klas werk, is toegang tot eienskappe een van die gewone bewerkings vir 'n programmeerder. Toegang tot sekere data wat in voorwerpe gestoor word, kan moeilik wees, gegewe die veiligheidsmetodes wat daarvoor gebruik word. Dus, die kenmerke wat deur die privaat en beskermde spesifikasies gesluit word, kan slegs uit 'n klasinstansie gehaal word op 'n metode wat deel uitmaak van 'n voorwerp van dieselfde of 'n kind (vir beskermde) klas.

Hoe om 'n eienskap te trek
Hoe om 'n eienskap te trek

Instruksies

Stap 1

Skep 'n voorwerp of 'n wyser na 'n voorbeeld van die klas waarvan u die kenmerk in u program benodig. Die standaardkonstruksie vir so 'n operasie is CMyClass myObj1. Soms, om 'n voorwerp te initialiseer, moet u sekere parameters aan die klaskonstrukteur deurgee. In hierdie geval kan die rekord van die skep van voorwerpe so lyk: CMyClass myObj1 (param1, param2, param3), waar CMyClass die klasnaam is, myObj1 is die naam van die voorwerp wat geskep word, en alle parameters wat deur die konstrukteur gevra word in hakkies. 'N Aanwyser na 'n klasinstansie word soos volg geskep: CMyClass * pObj1 = new CMyClass (param1, param2, param3).

Stap 2

Die eenvoudigste manier om 'n kenmerk te noem, is om dit direk op enige plek in die program te verwys. Dit is egter slegs moontlik vir oop data wat in 'n klas met die openbare wysiger beskryf word. Direkte toegang deur 'n voorwerp lyk soos volg: myObj1.attr1, waar attr1 'n kenmerk van hierdie klas is. Vir 'n aanwyser sou die oproep wees: pObj1–> attr1.

Stap 3

As die kenmerk waarna u moet verwys, die verborge status het en beskryf word in 'n klas met die private wysiger, dan is toegang daartoe slegs moontlik vanaf 'n metode wat tot dieselfde klas behoort. Die metode of funksie van die klas moet die publieke status hê. Voeg 'n nuwe metode by die klas, waar u die verwerking van die vereiste eienskap skryf. In hierdie geval kan parameters na die funksie oorgedra word, afhangende van die waarde waarvan sekere aksies uitgevoer word. Die funksie self kan ook data terugstuur, soos die inhoud van 'n kenmerk. C ++ programkode wat albei funksies implementeer om met 'n privaat kenmerk te werk: klas CMyClass {beveilig: int attr1; // openbare attribuut: void funcA1 (int param) {attr1 = param; } int funcA2 () {retour attr1; }};

Stap 4

Om die privaat kenmerk attr1 dus in te stel op die waarde wat u benodig, noem u 'n metode van dieselfde klas met behulp van die voorheen geskepte voorwerp: myObj1.funcA1 (10) - deur 'n soortgelyke implisiete bewerking word die waarde 10 in die attr1-attribuut geplaas. As u met 'n aanwyser na 'n instansie van 'n klas werk, sal 'n soortgelyke bewerking soos volg lyk: рObj1–> funcA (10). Om 'n privaat kenmerk attr1 op te spoor en die waarde daarin te vind, noem u 'n ander metode van die klas: int Res = myObj1.funcA2 (). In hierdie geval word die waarde van die verborge klasveranderlike aan die heelgetalveranderlike Res toegeken.

Stap 5

Raadpleeg die veranderlike daarvan direk as u 'n kenmerk met beskermde status in alle voorwerpe van kinderklasse moet aanroep. As u egter aan funksies van buitelandse klasse werk, moet toegang tot beskermde data verkry word soos hierbo beskryf.

Stap 6

Om 'n kenmerk te noem sonder om 'n voorwerp te skep, moet u die veranderlike in die klas as staties verklaar deur die volgende konstruksie te gebruik: static int attr1. In hierdie geval kan u die kenmerk op enige plek in die programkode uithaal deur die vermelding op te gee: CMyClass:: attr1.

Aanbeveel: