Jak Wyciągnąć Atrybut

Spisu treści:

Jak Wyciągnąć Atrybut
Jak Wyciągnąć Atrybut

Wideo: Jak Wyciągnąć Atrybut

Wideo: Jak Wyciągnąć Atrybut
Wideo: LoD Legacy of Discort Gemy jak wyciągnąć najlepsze Atrybuty 2024, Może
Anonim

Podczas pracy z obiektami i innymi instancjami klasy dostęp do atrybutów jest jedną ze zwykłych operacji programisty. Uzyskanie dostępu do niektórych danych przechowywanych w obiektach może być utrudnione ze względu na stosowane w nich metody bezpieczeństwa. Tak więc atrybuty zamknięte przez specyfikatory private i protected można wyciągnąć z instancji klasy tylko w metodzie należącej do obiektu tej samej lub klasy podrzędnej (dla protected).

Jak wyciągnąć atrybut
Jak wyciągnąć atrybut

Instrukcje

Krok 1

Utwórz obiekt lub wskaźnik do instancji klasy, której atrybut potrzebujesz w swoim programie. Standardową konstrukcją dla takiej operacji jest CMyClass myObj1. Czasami, aby zainicjować obiekt, musisz przekazać pewne parametry do konstruktora klasy. W tym przypadku zapis utworzenia obiektu może wyglądać tak: CMyClass myObj1 (param1, param2, param3), gdzie CMyClass to nazwa klasy, myObj1 to nazwa tworzonego obiektu, a wszystkie parametry wymagane przez konstruktora są wymienione w nawiasach. Wskaźnik do instancji klasy jest tworzony w następujący sposób: CMyClass * pObj1 = new CMyClass (param1, param2, param3).

Krok 2

Najprostszym sposobem wywołania atrybutu jest odwołanie się do niego bezpośrednio w dowolnym miejscu programu. Jest to jednak możliwe tylko dla otwartych danych opisanych w klasie z modyfikatorem public. Bezpośredni dostęp poprzez obiekt wygląda tak: myObj1.attr1, gdzie attr1 jest atrybutem tej klasy. Dla wskaźnika wywołanie to: pObj1–> attr1.

Krok 3

Jeżeli atrybut, do którego należy się odwołać, ma status ukryty i jest opisany w klasie z modyfikatorem private, to dostęp do niego możliwy jest tylko z metody należącej do tej samej klasy. Metoda lub funkcja klasy musi mieć status publiczny. Dodaj nową metodę do klasy, w której napisz przetwarzanie wymaganego atrybutu. W takim przypadku do funkcji można przekazać parametry, w zależności od wartości, której są wykonywane określone akcje. Sama funkcja może również zwracać dane, takie jak zawartość atrybutu. Kod programu C++, który implementuje obie funkcje do pracy z atrybutem prywatnym: class CMyClass {protected: int attr1; // atrybut publiczny: void funcA1 (int param) {attr1 = param; } int funcA2 () {powrót attr1; }};

Krok 4

Tak więc, aby ustawić atrybut prywatny attr1 na potrzebną wartość, należy wywołać metodę tej samej klasy, korzystając z wcześniej utworzonego obiektu: myObj1.funcA1 (10) - analogiczną niejawną operacją w atrybucie attr1 umieszcza się wartość 10. Podczas pracy ze wskaźnikiem do instancji klasy podobna operacja będzie wyglądać tak: рObj1–> funcA (10). Aby pobrać atrybut prywatny attr1 i znaleźć zapisaną w nim wartość, wywołaj inną metodę klasy: int Res = myObj1.funcA2 (). W tym przypadku zmiennej całkowitej Res zostanie przypisana wartość ukrytej zmiennej klasy.

Krok 5

Jeśli potrzebujesz wywołać atrybut ze statusem chronionym we wszystkich obiektach klas potomnych, odwołaj się bezpośrednio do jego zmiennej. Jednak pracując w funkcjach klas zagranicznych dostęp do danych chronionych będzie musiał zostać uzyskany w sposób opisany powyżej.

Krok 6

Aby wywołać atrybut bez tworzenia obiektu, zadeklaruj jego zmienną w klasie jako statyczną używając następującej konstrukcji: static int attr1. W takim przypadku możesz wyciągnąć atrybut w dowolnym miejscu w kodzie programu, określając wpis: CMyClass:: attr1.

Zalecana: