artace.ru - творческий сектор

Название: Что значит protected? [Версия для печати]

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?
6 V3 {. }6 E1 ]- yКогда переменная или метод класса объявлены с модификатором protected, это означает следующее:
. K+ V7 E( j- K. }+ E
: [- D: F- n. M) `7 u- B; u+ I: \' n- L* J6 \+ s& ~. Y- @  k
Различие между public, protected, private, и default (package-private):
Пример:. j9 _# e5 ?9 @2 d5 ]
  1. public class Animal {1 E7 v, o1 t8 U1 m0 }" M8 ^
  2.     protected String name;/ v1 W* b% A# i* C. V6 w' F; ~# f# }2 U

  3. 7 ]. c& o8 y2 r. c3 t2 T
  4.     protected void eat() {2 e0 S( U9 Z( p. V6 ^0 Z& o1 i6 l
  5.         System.out.println("Animal is eating");4 n  u! I8 B3 ?# J, x
  6.     }) G0 p; N8 G7 J1 U1 l  c# I/ g4 @% `
  7. }
    " m7 D" l( F2 E3 ~" ~. W0 d
  8. * ?* h) u( v4 B- m/ m; d
  9. public class Dog extends Animal {# G* Q5 v' ?. z0 c8 X1 l, S
  10.     public void bark() {  Z, ?4 e- O$ Y% q$ Y% i, {. K
  11.         System.out.println("Dog is barking");
    2 J+ L$ x; d: k' P8 p
  12.     }: r" N5 H, e0 @# R% j  h
  13. 6 N1 ?* D/ T5 [! E2 O
  14.     public void dogBehavior() {
    + Z' z1 r. f+ j- R  }3 E
  15.         // Доступ к protected полям и методам родительского класса
    " w) X) v+ ]% A8 w: l# |  ?
  16.         name = "Buddy";      // доступ к полю name
    % h( t, ?4 U7 _  |" _
  17.         eat();               // вызов метода eat3 c5 D" l9 V, |1 _) s, C3 {
  18.         bark();              // вызов метода bark
    - {* e! d  t' P2 n9 E8 w8 U3 M
  19.     }3 o! i# [) M5 L1 G) O, }
  20. }
    1 @* d5 ]% X, A
Скопировать код
В этом примере:
/ P+ i! R, ^9 j  I7 dОсновное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками.
- D7 |% `1 }- @: y' qНадеюсь, это объяснение помогло!. c  ~! G0 b+ }. k% }, F; d: d: R

& t" g$ i4 {8 O
: K: j0 j( i6 ?: E
$ |+ p+ T- J  T* S- T+ U' A+ v4 b2 M3 Y% G9 Z  q





Добро пожаловать artace.ru - творческий сектор (https://www.artace.ru/) Powered by Discuz! X3.5