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

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

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?; D1 z/ }8 b1 K7 r* f& I
Когда переменная или метод класса объявлены с модификатором protected, это означает следующее:$ X3 H% c9 N# U

9 T( Q+ m4 W. s0 C3 R# u
+ g2 E5 q; B+ v2 V1 ]1 MРазличие между public, protected, private, и default (package-private):
Пример:
, x2 L- f% D& Y4 u
  1. public class Animal {" i8 B% l+ p0 h7 K- H
  2.     protected String name;
    1 V, S( d5 _/ o$ }; I$ h5 l& F+ `! M
  3. * ?2 b. I5 T( B: y- H% d, @
  4.     protected void eat() {
    : @- Q2 `* D' |% _  ^, C5 }
  5.         System.out.println("Animal is eating");: U' w3 ?7 ^. ^% ^# A5 d% [8 q
  6.     }7 l$ q6 w5 N8 B6 l0 E. s2 e* @
  7. }
    8 I( p* l( d! M. _0 t4 }
  8. 3 ?: l$ o6 E% g9 {, c3 A
  9. public class Dog extends Animal {
    9 j8 d# l, D( O8 _
  10.     public void bark() {' R/ Z( E- e: x. A
  11.         System.out.println("Dog is barking");
      u$ V1 \$ {9 u# e+ z0 e7 |: p
  12.     }; G  Y0 m$ w9 L$ J, g
  13. * q+ p* f* c+ H  G+ `- M
  14.     public void dogBehavior() {% w( Y8 O2 Q/ k5 a
  15.         // Доступ к protected полям и методам родительского класса
    % O# S- I. _5 G( c" L9 }+ T  t
  16.         name = "Buddy";      // доступ к полю name
    . i4 a3 R8 `& c  _; y
  17.         eat();               // вызов метода eat  `7 U% J  \3 |8 c0 ~5 b
  18.         bark();              // вызов метода bark
    4 K5 m$ }' v0 c# n# r" _
  19.     }+ f5 g" L$ y# N5 U% D( r; D
  20. }
    7 o+ q" P1 T4 k; \7 ]" z
Скопировать код
В этом примере:
5 t! T7 @( ^2 e5 ]9 d/ qОсновное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками.
$ W1 D$ Z" K1 `+ V8 O( A$ OНадеюсь, это объяснение помогло!& }- S; {1 ~1 F0 @

% b7 G: N0 M9 e  ]
# M8 s9 O3 K) [' [: Z- a& h4 T* i) q7 ~! H
9 D% L) B+ p7 ^+ {; ~8 v





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