Hur Man Drar Ett Attribut

Innehållsförteckning:

Hur Man Drar Ett Attribut
Hur Man Drar Ett Attribut

Video: Hur Man Drar Ett Attribut

Video: Hur Man Drar Ett Attribut
Video: Attribut 2024, Maj
Anonim

När du arbetar med objekt och andra instanser i en klass är åtkomstattribut en av de vanliga operationerna för en programmerare. Att få tillgång till vissa data som lagras i objekt kan vara svårt med tanke på de säkerhetsmetoder som används för dem. Så attributen som stängs av de privata och skyddade specifikationerna kan endast dras ut ur en klassinstans i en metod som tillhör ett objekt av samma eller en underklass (för skyddad).

Hur man drar ett attribut
Hur man drar ett attribut

Instruktioner

Steg 1

Skapa ett objekt eller en pekare till en instans av klassen vars attribut du behöver i ditt program. Standardkonstruktionen för en sådan operation är CMyClass myObj1. Ibland måste du skicka vissa parametrar till klasskonstruktören för att initialisera ett objekt. I det här fallet kan posten för skapande av objekt se ut så här: CMyClass myObj1 (param1, param2, param3), där CMyClass är klassnamnet, myObj1 är namnet på objektet som skapas och alla parametrar som konstruktören begär är listade inom parentes. En pekare till en klassinstans skapas enligt följande: CMyClass * pObj1 = ny CMyClass (param1, param2, param3).

Steg 2

Det enklaste sättet att anropa ett attribut är att hänvisa till det direkt var som helst i programmet. Detta är dock endast möjligt för öppna data som beskrivs i en klass med den offentliga modifieraren. Direkt åtkomst genom ett objekt ser ut så här: myObj1.attr1, där attr1 är ett attribut för denna klass. För en pekare skulle samtalet vara: pObj1–> attr1.

Steg 3

Om attributet som du behöver hänvisa till har dold status och beskrivs i en klass med den privata modifieraren, är åtkomst till den endast möjlig från en metod som tillhör samma klass. Klassens metod eller funktion måste ha offentlig status. Lägg till en ny metod i klassen, där skriv bearbetningen av det attribut som krävs. I detta fall kan parametrar skickas till funktionen, beroende på vilket värde vissa åtgärder utförs för. Funktionen i sig kan också returnera data, till exempel innehållet i ett attribut. C ++ programkod som implementerar båda funktionerna för att arbeta med ett privat attribut: klass CMyClass {skyddad: int attr1; // public attribute: void funcA1 (int param) {attr1 = param; } int funcA2 () {return attr1; }};

Steg 4

För att ställa in det privata attributet attr1 till det värde du behöver, anropa en metod av samma klass med det tidigare skapade objektet: myObj1.funcA1 (10) - genom en liknande implicit operation placeras värdet 10 i attr1-attributet. När du arbetar med en pekare till en instans av en klass kommer en liknande operation att se ut så här: рObj1–> funcA (10). För att hämta det privata attributet attr1 och ta reda på värdet som är lagrat i det, ring en annan metod i klassen: int Res = myObj1.funcA2 (). I det här fallet tilldelas heltalsvariabeln Res värdet på den dolda klassvariabeln.

Steg 5

Om du behöver anropa ett attribut med skyddad status i alla objekt i underklasser, se dess variabel direkt. Men när du arbetar med funktioner i utländska klasser måste åtkomst till skyddad data erhållas på det sätt som beskrivs ovan.

Steg 6

För att anropa ett attribut utan att skapa ett objekt, förklara dess variabel i klassen som statisk med följande konstruktion: statisk int attr1. I det här fallet kan du dra ut attributet var som helst i programkoden genom att ange posten: CMyClass:: attr1.

Rekommenderad: