Metoda statyczna C++

Metoda Statyczna C



Metoda w C++ jest również znana jako funkcja, a używanie metod w C++ promuje koncepcję programowania modułowego i możliwości ponownego wykorzystania kodu. Oznacza to, że raz napisane metody można wywoływać tyle razy, ile potrzeba, bez konieczności ich zapisywania za każdym razem. Metody te mają następujące trzy podstawowe właściwości:
  • Metody statyczne można pobrać bezpośrednio z nazwą klasy i operatorem rozpoznawania zasięgu bez tworzenia jakiegokolwiek obiektu.
  • Statyczne metody klasy mogą uzyskiwać dostęp tylko do statycznych elementów tej klasy.
  • Metody statyczne nie mogą uzyskać dostępu do niestatycznych elementów klasy.

Zaprojektowaliśmy ten artykuł, aby nauczyć Cię korzystania z metod statycznych w C++ w Ubuntu 20.04.

Używanie metody statycznej w C++ w Ubuntu 20.04

Aby użyć metod statycznych w C++ w Ubuntu 20.04, musisz najpierw przejrzeć wszystkie przykłady podane poniżej, aby mieć dobre pojęcie o tym, jak te funkcje działają w C++.







Przykład nr 1: Badanie pierwszej właściwości metod statycznych w C++

W tym przykładzie chcemy zbadać pierwszą właściwość metod statycznych w C++; dostęp do metod statycznych klasy można uzyskać bezpośrednio za pomocą nazwy klasy, używając operatora rozdzielczości zakresu. W tym celu napisaliśmy skrypt C++ pokazany na poniższym obrazku:



  Metoda statyczna C++



W tym skrypcie C++ zdefiniowaliśmy klasę o nazwie „Number”. Wewnątrz ciała tej klasy mamy tylko jedną funkcję publiczną. Zadeklarowaliśmy tę funkcję jako „statyczną”. Nazwa tej funkcji to „ DrukujNum ” i przyjmuje liczbę „n” jako jedyny parametr. W ramach tej funkcji chcemy po prostu wydrukować wartość tej przekazanej liczby na terminalu. Jak widać, nie zdefiniowaliśmy żadnego konstruktora dla tej klasy. Oznacza to, że nie mamy zamiaru tworzyć jego obiektu. Zamiast tego uzyskamy bezpośredni dostęp do funkcji tej klasy.





Teraz w ramach naszego „ Główny() ”, uzyskaliśmy dostęp do „ DrukujNum ” funkcji klasy „Liczba” za pomocą nazwy klasy i operatora rozdzielczości zakresu. Wywołując tę ​​funkcję, przekazaliśmy jej losową liczbę, czyli 25. Nasz „ Główny() ” kończy się instrukcją „return 0”, ponieważ zadeklarowaliśmy, że zwraca typ całkowity.

Kiedy skompilowaliśmy i wykonaliśmy ten skrypt C++, nasz numer został poprawnie wydrukowany na terminalu, jak pokazano na poniższym obrazku. Oznacza to, że pierwsza właściwość metod statycznych w C++ została spełniona — dostęp do metod statycznych można uzyskać bezpośrednio za pomocą nazwy klasy bez tworzenia jakiegokolwiek obiektu i działają one dokładnie tak, jak powinny.



  Metoda statyczna w C++

Przykład nr 2: Badanie drugiej właściwości metod statycznych w C++

W tym przykładzie chcemy zbadać drugą właściwość metod statycznych w C++; statyczne metody klasy mogą uzyskiwać dostęp tylko do statycznych elementów tej klasy. W tym celu napisaliśmy skrypt C++ pokazany na poniższym obrazku:

W tym skrypcie C++ najpierw zdefiniowaliśmy klasę o nazwie „Number”. Wewnątrz ciała tej klasy mamy prywatnego członka „x”, który jest typu danych całkowitych i uczyniliśmy go statycznym. Wtedy mamy tylko jedną funkcję publiczną. Zadeklarowaliśmy tę funkcję jako „ statyczny ”. Nazwa tej funkcji to „ DrukujNum ” i przyjmuje liczbę „n” jako jedyny parametr. W ramach tej funkcji chcemy wydrukować wartość tej przekazanej liczby na terminalu oraz wartość statycznego elementu „x”.

Następnie zainicjowaliśmy statyczny element „x” wartością „10” za pomocą nazwy klasy poza naszą klasą bez ponownego użycia słowa kluczowego „static”. Teraz w ramach naszego „ Główny() ”, uzyskaliśmy dostęp do „ DrukujNum ” funkcji klasy „Liczba” za pomocą nazwy klasy i operatora rozdzielczości zakresu. Wywołując tę ​​funkcję, przekazaliśmy jej losową liczbę, czyli 25. Nasz „ Główny() ” kończy się instrukcją „return 0”, ponieważ zadeklarowaliśmy, że zwraca typ całkowity.

Kiedy skompilowaliśmy i wykonaliśmy ten skrypt C++, nasz numer, jak również wartość zmiennej „x”, zostały poprawnie wydrukowane na terminalu, jak pokazano na poniższym obrazku. Oznacza to, że druga właściwość metod statycznych w C++ została spełniona — metody statyczne mają dostęp tylko do statycznych elementów klasy w C++.

Przykład nr 3: Badanie trzeciej właściwości metod statycznych w C++

W tym przykładzie chcemy zbadać trzecią właściwość metod statycznych w C++, która w rzeczywistości jest innym sposobem określenia drugiej właściwości; metody statyczne nie mogą uzyskać dostępu do niestatycznych elementów klasy. W tym celu napisaliśmy skrypt C++ pokazany na poniższym obrazku:

Ten skrypt C++ wygląda dokładnie tak, jak skrypt pokazany w drugim przykładzie. Jedyną różnicą jest jednak to, że tym razem nie zadeklarowaliśmy zmiennej „x” jako statycznej.

Kiedy skompilowaliśmy i wykonaliśmy ten skrypt C++, na terminalu został wygenerowany komunikat o błędzie, jak pokazano na poniższym obrazku, informujący, że do wartości „x” nie można uzyskać dostępu za pomocą metody statycznej w C++. Oznacza to, że trzecia właściwość metod statycznych w C++ została spełniona — metody statyczne nie mogą uzyskać dostępu do żadnych niestatycznych elementów klasy w C++.

Przykład nr 4: Generowanie kolejnych numerów rolek przy użyciu metod statycznych w C++

W tym przykładzie chcieliśmy po prostu przedstawić ogólny pogląd na to, jak działają metody statyczne w C++, podsumowując nasze przykłady. Będziemy po prostu tworzyć program do generowania niektórych numerów rolek w podanym zakresie. W tym celu napisaliśmy skrypt C++ pokazany na poniższym obrazku:

W tym skrypcie C++ mamy klasę o nazwie „RollNumber”. W ramach tej klasy mamy prywatny statyczny element „RollNum” typu danych całkowitych. Następnie mamy publiczną metodę statyczną „ getRollNum() ” z zwracanym typem liczby całkowitej. Poza definicją tej klasy zainicjowaliśmy naszą zmienną „RollNum” wartością „1” i zdefiniowaliśmy naszą „ getRollNum() ”, aby zwracać zwiększoną wartość „RollNum” za każdym razem, gdy jest wywoływana.

Następnie w ramach naszego „ Główny() ”, mamy pętlę „for”, która przechodzi przez zmienną licznika od „0” do „9”, czyli przez 10 iteracji. Wewnątrz tej pętli chcemy wydrukować wartość zwróconą przez „ getRollNum() ” dla każdej iteracji. Ponownie „ Główny() ” kończy się instrukcją „return 0”.

Kiedy skompilowaliśmy i wykonaliśmy ten skrypt C++, na terminalu wygenerowano serię 10 różnych numerów rolek, jak pokazano na poniższym obrazku:

Wniosek

Naszym celem w tym artykule było nauczenie Cię korzystania z metod statycznych w C++ w Ubuntu 20.04. Udostępniliśmy podstawowe właściwości tych metod, a następnie cztery przykłady, dzięki którym możesz natychmiast dowiedzieć się, jak te metody działają w C++. Po zrozumieniu tych przykładów możesz łatwo opanować metody statyczne w C++. Mamy nadzieję, że ten artykuł okazał się pomocny i sprawdź wskazówkę dotyczącą systemu Linux, aby uzyskać więcej informacji.