C# Wewnętrzne

C# Wewnętrzne
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. Dzisiaj rozważamy korzystanie z wewnętrznych modyfikatorów dostępu.

Przykład 01

Przed użyciem wewnętrznego modyfikatora dostępu musimy najpierw spojrzeć na „prywatny” modyfikator dostępu w programowaniu C#. Używamy więc przestrzeni nazw zdefiniowanej przez użytkownika o nazwie „New”, zawierającej dwie klasy. „Test” klasy zawiera 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 „New”, i.mi., Nie jest to teraz możliwe. Po wywołaniu funkcji show () z obiektem „OBJ” w metodzie main (), musi mieć miejsce wykonanie metody show () z modyfikatorem dostępu „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 należy go skompilować za pomocą kompilatora „MC” C# już skonfigurowanego w Linux. Ten niezbędny krok pokazuje nam, że błąd wystąpił w wierszu 12 naszego kodu C#, i.mi., Zmiennej „x” nie można uzyskać w klasie testowej zgodnie z definicją 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 zapisaliśmy 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 02

Teraz przyjrzymy się użyciu wewnętrznych modyfikatorów dostępu w celu zdefiniowania zakresu niektórych zmiennych w klasach kodu C#. Zainicjowaliśmy ten przykład C# z dodaniem biblioteki systemowej i stworzyliśmy w nim przestrzeń nazw „nową”. Ta przestrzeń nazw zawiera dwie niezależne klasy o nazwie „nowe” i „testowanie.„Klasa„ test ”zawiera funkcję kodu głównego (), podczas gdy klasa„ nowa ”zawiera zmienną liczbową„ x ”, mając wartość 14 zdefiniowaną za pomocą modyfikatora dostępu wewnętrznego i funkcji show (). Nowy obiekt klasy „OBJ” został wygenerowany przy użyciu „nowego” słowa kluczowego, a następnie nazwy klasy. Ten nowy obiekt 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 zestawie przestrzeni nazw „Nowy.„Funkcja show () została wywołana tym samym obiektem:„ OBJ.”Gdy 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 powrócić do terminala. Prowadziliśmy polecenie „MCS” dla kompilacji kodu C#, aby uruchomić „wewnętrzny.plik CS ”w powładzie. 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”, aby uruchomić go za pomocą polecenia „mono” w skorcie. Wyjście zostało pomyślnie wyświetlane jak poniżej. Funkcja main () jest wykonywana 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 jest 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. 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 nowa zawiera funkcję show (), aby wyświetlić wartość „x."

Z drugiej strony test przestrzeni nazw zawiera test klasowy posiadający funkcję main (). Ta funkcja main () tworzy obiekt klasy nowej z drugiej przestrzeni nazw: „Nowa.„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.”Z powodu wewnętrznego modyfikatora 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 zaktualizować kod, tak jak to zrobiliśmy 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 po tej aktualizacji została pomyślnie wykonana i wyświetlono zmodyfikowaną wartość zmiennej „x” na powładzie.

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 bez przestrzeni nazw zdefiniowanych w klasie. Opracowaliśmy jego zastosowanie do ochrony zmiennych i funkcji elementu danych w C#.