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

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

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?
6 ~4 C2 e$ K% {" N7 qКогда переменная или метод класса объявлены с модификатором protected, это означает следующее:
, v, r  y+ N5 s0 D4 F& I8 B! r
6 y% {: N6 K+ H1 h8 _1 u5 G$ R" s2 _# a# T/ ^
Различие между public, protected, private, и default (package-private):
Пример:
8 r' }" ^6 l6 n8 V
  1. public class Animal {  W/ M$ @3 e4 E7 S7 p) h, K
  2.     protected String name;
    , ]6 h% |- H* x8 W, g3 {

  3. * f$ `7 w( y& t+ e( E5 V
  4.     protected void eat() {  f* F1 l0 ~8 h6 h5 r
  5.         System.out.println("Animal is eating");+ W' r' D4 i. D% ~& G  e) L* l7 Q
  6.     }
    & t7 q: Q2 c; |+ s
  7. }1 v1 h  Y9 }6 a/ `

  8. 8 ^: B4 _5 h$ K9 N* `% i% m
  9. public class Dog extends Animal {# L* y$ S2 z- {& k4 S
  10.     public void bark() {
    " i$ M2 ^5 t1 o
  11.         System.out.println("Dog is barking");3 q5 U- ]5 e! [$ i  N6 K/ p
  12.     }6 m9 M. W: }  _4 r) T

  13. 3 h, @/ j4 F2 q6 o' F9 F
  14.     public void dogBehavior() {
    9 |; G6 T' K9 I0 {" P
  15.         // Доступ к protected полям и методам родительского класса0 V  ~: A3 v' f( R2 Y% k6 j
  16.         name = "Buddy";      // доступ к полю name% \- ^% F4 G, s% G; ?
  17.         eat();               // вызов метода eat$ r2 S& P) z. ]. q' d& t
  18.         bark();              // вызов метода bark8 c2 ?5 F9 M& G' I5 l% Y
  19.     }) z# [$ K$ ]- ]- t( H( D; N* i& a
  20. }2 J4 w  p- ?9 w1 z6 J9 S
Скопировать код
В этом примере:! @# s( Q) {- V
Основное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками.
9 {/ w0 t* b& B- `Надеюсь, это объяснение помогло!
  ~1 A0 s: q+ L/ f/ q) c8 E3 a- ?& X* N: [
3 S' b- ]2 E9 X# X. m5 O

+ B5 |3 v4 F, ^$ o' O8 \9 W$ d7 `0 Q- H





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