C# Modyfikator dostępu

C# Modyfikator dostępu
Modyfikatory dostępu są niezbędne w każdym programowaniu zorientowanym na obiekty. Modyfikatory dostępu są używane do ochrony danych za pomocą ich za pomocą funkcji danych i funkcji członków. Te modyfikatory dostępu są: publiczne, prywatne, chronione i wewnętrzne zgodnie z źródłami. Wewnętrzny modyfikator dostępu działa tak samo jak członek prywatnego dostępu, ale na różnych poziomach programowania. Prywatny modyfikator działa na poziomie klasy, podczas gdy modyfikator wewnętrzny działa na poziomie montażu.

Przykład nr 01:

Przed przyjrzeniem się użyciu wewnętrznego modyfikatora dostępu musimy najpierw przyjrzeć się „prywatny” modyfikator dostępu w programie C#. Zainicjowaliśmy naszą pierwszą ilustrację przy użyciu biblioteki „systemowej”. Używamy więc zdefiniowanej przez użytkownika przestrzeni nazw o nazwie „Nowa” zawierająca w nim w sumie dwie klasy.

Klasa „Test” zawiera w niej funkcję Main (), aby rozpocząć wykonywanie tego kodu. Konsola.Instrukcja pisarzy () w tej funkcji sterownika () służy do wyświetlania tekstu „główna metoda klasy testowej” na naszych ekranach. Obiekt „OBJ” dla klasy „nowy” został utworzony przy użyciu nazwy klasy. Klasa „Nowa” zawiera prywatny członek danych „X” typu liczb całkowitych o wartości „14”. Oznacza to, że do wartości zmiennej „x” nie można uzyskać żadnej innej funkcji innych klas, nawet jeśli są one wyprowadzone.

Funkcja main () używa obiektu „OBJ” nowej klasy do aktualizacji wartości prywatnego członka danych „x” klasy „nowej” i.mi. Nie jest to teraz możliwe. Po wywołaniu funkcji show () z obiektem „OBJ” w metodzie main (), należy wykonać wykonywanie metody show () z modyfikatorem „publicznego”. Nie wydaje się tak z powodu prywatnego modyfikatora dostępu ze zmienną „x”. Obie klasy są zakończone, a kod jest gotowy do użycia. Musimy najpierw zapisać go za pomocą Ctrl+S i wyjść z edytora, zamykając go za pomocą znaku krzyżowego z edytora tekstu.

Po zapisaniu kodu musisz go skompilować za pomocą kompilatora „MCS” C# już skonfigurowanego w Linux. Ten krok pokazuje nam błąd, który wystąpił w wierszu 12 naszego kodu C#, i.mi. Zmiennej „X” nie można uzyskać w klasie testowej, ponieważ została zdefiniowana za pomocą prywatny modyfikator dostępu. Musimy więc naprawić ten błąd.

Ponownie otworzyliśmy plik C# w edytorze tekstu i zaktualizowaliśmy kod, zastępując prywatny modyfikator dostępu zmiennej „x” modyfikatorem dostępu publicznego. Nie będziemy zmieniać pozostałego kodu, ponieważ nie jest to wymagane. Tak więc ponownie zapisz nowo zaktualizowany kod.

Kiedy użyliśmy polecenia kompilatora MCS na powładzie, a następnie nazwy pliku C#, kod został pomyślnie skompilowany. Następnie wykonaliśmy plik „exe” utworzony przez kompilator C# na powładzie, a wyjście zostało wyświetlone i.mi. Zaktualizowano wartość „x”.

Przykład nr 02:

Teraz przyjrzymy się użyciu wewnętrznych modyfikatorów dostępu do zdefiniowania zakresu niektórych zmiennych w klasach kodu C#. Zaczęliśmy więc ten przykład C# z użyciem biblioteki systemowej i stworzyliśmy w nim przestrzeń nazw „nową”. Ta przestrzeń nazw zawiera w niej dwie niezależne klasy o nazwie „nowe” i „test”. Klasa „Test” zawiera funkcję kodu głównego (), podczas gdy klasa „nowa” zawiera zmienną liczbową „X” o wartości 14 zdefiniowanej z wewnętrznym modyfikatorem dostępu i funkcji show ().

Nowy obiekt klasy „OBJ” został wygenerowany za pomocą „nowego” słowa kluczowego, a następnie nazwy klasy. Ten obiekt nowej klasy został wykorzystany w następnym wierszu, aby zaktualizować wartość zmiennej „x” o „0”. Teraz zmienna „x” zostanie pomyślnie zaktualizowana, ponieważ zmienna „x” zostanie zdefiniowana za pomocą wewnętrznego modyfikatora dostępu w tym samym zespole przestrzeni nazw „NOWOŚĆ”. Funkcja show () została wywołana z tym samym obiektem „OBJ”. Kiedy funkcja show () zostanie wykonana, wyświetli zaktualizowaną wartość „x” na powładzie przez konsolę.Instrukcja funkcji writeLine ().

Czas szybko zapisać nasz plik kodu za pomocą Ctrl+S i wrócić do terminalu. W powłoce uruchamiamy polecenie „MCS” dla kompilacji kodu C#, aby uruchomić „wewnętrzny.plik CS ”. Ta kompilacja zakończyła się sukcesem, a skompilowany plik „exe” dla wewnętrznego.CS został stworzony w naszym obecnym katalogu roboczym. Używamy tego pliku „exe” do uruchomienia go za pomocą polecenia czasu wykonawczego „mono” w skorupce. Wyjście zostało pomyślnie wyświetlane jak poniżej. Funkcja main () została wykonana jako pierwsza zgodnie z wyświetlonym ciągiem, a następnie zaktualizowana wartość „0” zmiennej „x” jest wyświetlana pomyślnie wyświetlana.

W ten sposób wewnętrzny modyfikator dostępu działa w kodzie C#, gdy był używany w tej samej przestrzeni nazw. Dokonajmy zmian w naszym kodzie, aby zobaczyć, jak wewnętrzny modyfikator dostępu wpływa na wykonanie kodu C#, gdy jest używany wśród więcej niż jednego zespołu. Powiedzmy, że utworzyłeś dwie przestrzenie nazw w tym samym kodzie C# i.mi. Nowy i test.

W nowej przestrzeni nazw stworzyliśmy nową klasę i zainicjowaliśmy zmienną „x” wewnętrznego modyfikatora dostępu z wartością 14. Ta sama klasa przestrzeni nazw zawiera funkcję show (), która wyświetla wartość „x”. Z drugiej strony test przestrzeni nazw zawiera test klasowy posiadający funkcję main (). Ta funkcja main () tworzy obiekt klasy nowości z innej przestrzeni nazw „NOWOŚĆ”. Ten sam obiekt został użyty do modyfikacji wartości zmiennej „x” i wywołania funkcji show (), aby wyświetlić zaktualizowaną wartość zmiennej „x”. Teraz zmienna „x” jest zdefiniowana w przestrzeni nazw „Nowa”, podczas gdy obiekt próbuje uzyskać do niego dostęp w innej przestrzeni nazw „Test”. Ze względu na wewnętrzny modyfikator dostępu ze zmienną „x” możemy napotkać błąd. Zobaczmy to teraz.

Po skompilowaniu tego kodu mamy błąd zgodnie z oczekiwaniami, ja.mi. typ chroniony.

Aby uniknąć tego błędu w kompilacji, musimy wykonać kilka aktualizacji kodu, tak jak w powyższym kodzie z ostatniego kodu. Tak więc usunęliśmy przestrzeń nazw „nową” z kodu i nie usunęliśmy przestrzeni nazw testów z kodu, jak pokazano poniżej.

Po kompilacji kodowej i wykonaniu został pomyślnie wykonany i wyświetlał zmodyfikowaną wartość zmiennej „x” na powładzie, niezależnie od jej wewnętrznego typu.

Wniosek

Skończyliśmy wdrażanie przykładów modyfikatora dostępu wewnętrznego w C#. Rozpoczęliśmy ten artykuł od przykładu omawiania prywatny modyfikator dostępu, aby porównać go z wewnętrznymi modyfikatorami dostępu, ponieważ oba wykonują to samo zadanie na różnych poziomach programowania. Próbowaliśmy użyć wewnętrznego modyfikatora dostępu w tej samej przestrzeni nazw, dwóch różnych przestrzeni nazw i w klasie nie mającej zdefiniowanej przestrzeni nazw. W ten sposób opracowaliśmy jego zastosowanie do ochrony zmiennych i funkcji elementu danych w C#.