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

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

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?$ I5 n5 d8 f/ Y1 U( ]+ t! d
Когда переменная или метод класса объявлены с модификатором protected, это означает следующее:
* T# c* f! n! H6 y$ h) y7 w, u- r/ o2 M" z8 P/ S

" ]9 m" c4 L% u9 H2 NРазличие между public, protected, private, и default (package-private):
Пример:
$ `3 ~: _* q( Y- Y
  1. public class Animal {* r7 J! F/ I' g# r2 a  R
  2.     protected String name;) h+ m4 }8 F; }

  3. - E* \0 T5 I4 @  _$ G0 t
  4.     protected void eat() {3 B( O) P1 z2 L) E, r
  5.         System.out.println("Animal is eating");; W2 X/ R1 a; r
  6.     }
    5 v2 R( }. G' ^: @
  7. }; u0 v$ O' C* [0 B) v
  8. $ ^# r" a$ x3 X2 {' G# S
  9. public class Dog extends Animal {! ?  M. L7 p( @( [
  10.     public void bark() {$ V- l+ U# J$ v' Z$ d
  11.         System.out.println("Dog is barking");- M+ p$ P, J) v0 o+ Q
  12.     }
    ! y+ F9 Y/ }4 G: x
  13. , s- o/ ~, x( c  e. c: ~
  14.     public void dogBehavior() {5 I( Z$ x, }0 e- o3 w, [; u& W$ Y
  15.         // Доступ к protected полям и методам родительского класса3 w# B' r- s6 z3 K' f
  16.         name = "Buddy";      // доступ к полю name1 h. y8 y* a" S
  17.         eat();               // вызов метода eat% f, W9 R- g# L2 Q# W9 ~/ u) a
  18.         bark();              // вызов метода bark8 |* z/ u5 I, C- e; o6 x
  19.     }( O/ H' o$ h) F) ]) y
  20. }- z) k1 |  C/ m
Скопировать код
В этом примере:
- o6 g- T5 j4 b* B5 q4 H" W. oОсновное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками.
) F8 I4 t* S: I# m" O$ CНадеюсь, это объяснение помогло!
* s- {$ X* j" u7 b5 [$ {' z& I1 e% c: d' v, ^  r
. l+ s$ `/ n! l3 q

. l* v0 a! u6 P" I0 A5 `: h2 _) \) Q* `





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