Słowo kluczowe chronione Java

Słowo kluczowe chronione Java

„Kontrola uprawnień Java jest realizowana przez modyfikator dostępu. Trzy modyfikatory dostępu oferowane przez Java są publiczne, chronione i prywatne. Pójdziemy z modyfikatorem chronionego dostępu, który jest ograniczony do poziomu członka. Chronione słowo kluczowe różni się od prywatnego słowa kluczowego w sposób, w jaki ułatwia dostęp do podklas innych pakietów, a także poza klasami, ale w postaci dziedzictwa. Chronionego słowa kluczowego nie można wyznaczyć na zewnętrzne klasy i interfejsy. Użytkownicy nie mogą utworzyć instancji klasowej poza pakietem, ponieważ funkcje są zabezpieczone chronionym słowem kluczowym."

Przykład 1

Słowo kluczowe chronione jest używane przed ogłoszeniem jakiegokolwiek konkretnego atrybutu jest chronione. Rozważmy program, aby dowiedzieć się, czy chronione atrybuty są dostępne w Javie.

W skrypcie zbudowaliśmy prostą klasę o nazwie „pracownik”. Następnie zadeklarowaliśmy atrybuty „Empname”, „empeMail” i „Empage” klasy za pomocą chronionego modyfikatora. Teraz chroniliśmy te zmienne w klasie. Następnie utworzyliśmy podklasę „ProtectedCase1” klasy „Pracownik”, stosując słowo kluczowe rozszerzenia. Tutaj wygenerowaliśmy atrybut prywatny w metodzie Main (), co oznacza, że ​​tylko ta klasa może uzyskać do niego dostęp.

Następnie zdefiniowaliśmy obiekt „empobj” klasy „ProtectedCase1”. Uzyskaliśmy dostęp do każdego chronionego atrybutu „pracownika” z obiektem „empobj” w „Systemie.na zewnątrz.Funkcja println () ”do wydrukowania wartości. Ponadto wydrukowaliśmy tutaj prywatną wartość atrybutu.

Wyjście udowodniło, że chronione wartości atrybutu nadklasy są dostępne w podklasie.

Przykład 2

Widzieliśmy dostępność chronionego słowa kluczowego w powyższych programach Java. Tutaj utworzyliśmy dwa różne pakiety i uzyskaliśmy dostęp do chronionych metod.

Program jest zapisywany w „Animal.plik Java ”, który znajduje się w opakowaniu„ P1 ”. Następnie stworzyliśmy klasę „zwierząt”, która jest również nazwą pliku Java. Dzięki użyciu modyfikatora „chronionego” zbudowaliśmy funkcję „cat ()” i przypisaliśmy system.na zewnątrz.Metoda drukowania określonej wiadomości. Wywołaliśmy tę chronioną funkcję w innym pakiecie, jak poniżej.

Zbudowaliśmy kolejny pakiet i zapisaliśmy plik Java jako „Protectedcase2” tam. Mamy definicję klasy „ProtectedCase2” w pliku. Tutaj mamy metodę main (), w której obiekt „ProtectedCase2” „P” został zadeklarowany, a przy tym obiekcie próbowaliśmy uzyskać dostęp do chronionych funkcji cat () klasy „zwierzę” znajdującego się w pakiecie „P1”.

Po wykonaniu programu wystąpił błąd kompilacji, jak na poniższym ekranie. W rezultacie nie możemy uzyskać dostępu do chronionego atrybutu w różnych pakietach.

Przykład 3

Następnym podejściem jest użycie chronionego słowa kluczowego dla atrybutu jednej klasy i wywołanie tego atrybutu w innej klasie.

Ustanowiliśmy klasę „String Class”, a blok klasy jest zdefiniowany za pomocą atrybutu ciągów „Str”, który jest chroniony. Atrybut chroniony „Str” jest inicjowany z komunikatem ciągu. Następnie stworzyliśmy klasę „ProtectedCase3” z Modyfikatorem Public Access i zastosowaliśmy metodę programu Main (). Metoda main () jest zadeklarowana za pomocą obiektu „s” klasy „StringClass”, a obiekt ten nazywany jest atrybutem chronionym „Str” w celu wydrukowania wartości ciągu w „System.na zewnątrz.metoda print () ”.

Komunikat ciągu chronionego atrybutu jest wyświetlany tutaj. Stąd chronione atrybuty są dostępne w drugiej klasie Java.

Przykład 4

Program jest wdrażany w tym samym pakiecie i uzyskuje dostęp do metody chronionej, ale w innej klasie tego samego pakietu.

Mamy plik o nazwie „Student.Java ”, w której zbudowaliśmy klasę„ uczeń ”i stworzyliśmy metodę show ().

Następnie utworzyliśmy kolejny plik „ProtectedCase4”, w tym samym pakiecie „P1” i nazwaliśmy funkcję „show ()”, który jest chroniony obiektem „ST” klasy „Student”.

Funkcja chroniona zwraca dane wyjściowe w postaci łańcucha, który jest wywoływany w innej klasie tego samego pakietu.

Przykład 5

Chroniona funkcja klasy podstawowej może być również dostępna, zastępując pochodną klasę. Zobaczmy demonstrację tego stwierdzenia poniżej.

Utworzyliśmy Function View () z prefiksem „Protected” w klasie podstawowej „MyMessage”, w której określiliśmy wiadomość. Ten komunikat zostanie wyświetlony, gdy funkcja chroniona jest dostępna. Następnie ustanowiliśmy pochodną klasę „ProtectedCase5”, rozszerzając klasę podstawową „MyMessage”. Tam ponownie zdefiniowaliśmy funkcję Protected View () i zastąpiliśmy wydrukowaną instrukcję z poprzedniej. Następnie mamy deklarację obiektu klasy pochodnej „OBJ”, który wywołuje funkcję „view ()”.

Funkcja chroniona została pomyślnie zastąpiona w momencie wykonania, która jest wyświetlana na podpowiedzi.

Przykład 6

Ponieważ chronione zmienne klasy nadrzędnej można uzyskać w klasie dzieci, którą widzieliśmy w wyżej wymienionym programie. Teraz przypisaliśmy chroniony modyfikator do klasy zewnętrznej i próbowaliśmy uzyskać do niego dostęp w metodzie Main ().

Skonstruowaliśmy klasę „ProtectedCase2” z prefiksem „chronionym”. Klasa staje się chroniona przed plik programu Java. W klasie chronionej „ProtectedCase2” wdrożyliśmy funkcję „print ()”, która zawiera komunikat wydruku. Następnie mamy metodę klasową „ProtectedCase2” klasy „ProtectedCase2”. Tutaj nazwaliśmy klasę „ProtectedCase2”, aby utworzyć jej obiekt, który jest deklarowany jako „PC”, gdzie wywołaliśmy konstruktor klasy „ProtectedCase2” z nowym słowem kluczowym. Następnie, używając obiektu „print ()”, nazwaliśmy metodę „print ()” klasy chronionej.

Kompilacja powyższego programu Java generuje błąd, że klasa chroniona nie może być tutaj dozwolona.

Wniosek

Określamy chronione słowa kluczowe według rodzaju oczekiwanego dostępu w czasie kompilacji. Modyfikator dostępu „chroniony” jest bardzo skuteczny dla odziedziczonej funkcji, która wykorzystuje tę samą klasę i atrybuty. Klasa nadrzędna i dowolna z jej podklas dziecięcych, które używają chronionego słowa kluczowego, zawsze mają związek rodzic-dziecko. Widzieliśmy różne przypadki modyfikatora chronionego dostępu, który pokazuje jego użycie w Javie.