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

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

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?; u: x$ g  c8 O5 {. u5 Q8 o& h, A
Когда переменная или метод класса объявлены с модификатором protected, это означает следующее:
$ t9 O, H. m4 a/ f1 }$ x$ X/ e' U( K- N* N6 _/ _9 e4 ?6 ^
) C# `4 R4 x" b+ h
Различие между public, protected, private, и default (package-private):
Пример:6 j% c0 ?$ E4 q) T- g, r" z, c! i
  1. public class Animal {- x6 w  X+ \2 i) g# L
  2.     protected String name;: w$ |- B9 c7 w# w: q
  3. $ k6 p# k3 ^) |' ?
  4.     protected void eat() {
    9 T( z% v; A0 z! g  F1 Y* b7 n
  5.         System.out.println("Animal is eating");$ L- r) B8 q  ^: Q+ t) s
  6.     }
    : W* X  [! K5 M- o# P8 Q9 `# M* J
  7. }
    * c2 U2 O% h4 A0 R0 u) |
  8. 8 U* X" W' [, M+ ?0 [  C% ^
  9. public class Dog extends Animal {
    - o+ _% B0 L" E
  10.     public void bark() {
    3 D) R' m/ K5 L
  11.         System.out.println("Dog is barking");
    $ H9 F! G+ i9 J/ y4 f( L1 o
  12.     }
    0 V: ]4 Q7 s0 Z6 N) Z+ p2 A' s

  13. % `" e: p2 v) e9 e( W: I0 ?% C' R! _
  14.     public void dogBehavior() {2 w5 L7 Z' i7 e. s0 ?' }
  15.         // Доступ к protected полям и методам родительского класса
    4 s5 m4 b2 @$ m$ w/ b
  16.         name = "Buddy";      // доступ к полю name) W- B/ K3 @" U, B. }+ l+ N7 X
  17.         eat();               // вызов метода eat
    : {$ U: x7 ?6 s! N" [' Z+ [
  18.         bark();              // вызов метода bark
    ) O0 z0 P& j! c: O
  19.     }
      p* ?9 @0 B: w- _& T. F: G/ {+ O
  20. }
    5 _1 e: L1 c9 B. V, M- C! K/ M
Скопировать код
В этом примере:
- k+ ~$ R& N! ?) @5 B2 eОсновное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками.
& A7 B" Q7 a: A9 c( n: l, s9 k! sНадеюсь, это объяснение помогло!+ \5 b. e" z( Z1 h, \6 i5 r/ t

5 v& t( t! C3 k  [: _& G( M+ J% z7 q% U) H  F+ U
! }$ H/ O, c; ^( ^9 A  x2 P+ \: o

# R7 G4 g' H8 C' S, o8 Y7 Q3 K




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