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

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

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?
4 z1 e+ d: |8 q( \0 `Когда переменная или метод класса объявлены с модификатором protected, это означает следующее:7 g: M3 H& P* g* ?; k! y/ A
5 R( q* i) H5 P7 f( m6 _) q' k

6 x' d8 u% J* j: j( q: ~Различие между public, protected, private, и default (package-private):
Пример:
* g+ V4 `+ W) P, U
  1. public class Animal {
    ( c, B. {0 I4 A6 [
  2.     protected String name;
    * u1 O3 O8 o* p( @" Z$ T: v) l) Q4 J
  3. . d- }) o5 L* m8 P  Q7 ^
  4.     protected void eat() {
    ' R& r. ^! ]( ?5 }3 K5 M6 N. J  g0 D- e. F
  5.         System.out.println("Animal is eating");) C, u/ h$ d+ M- U
  6.     }! j. {' J# Y) @; K' d/ y/ f/ T
  7. }" {: j& _, W& s

  8. . K9 M! A) ?0 I+ \5 d" v2 G
  9. public class Dog extends Animal {
    ( a- R; o4 z8 e) V9 y0 H
  10.     public void bark() {
    ! V0 }: c5 Y6 u$ ]) E- L
  11.         System.out.println("Dog is barking");
    " J7 d% |: U  X, {/ ]0 i
  12.     }3 _; z1 J' y, ~3 S

  13. $ s$ l$ n8 N+ N" h
  14.     public void dogBehavior() {
    / r) R+ i, G8 t4 |. t; T6 R; Z
  15.         // Доступ к protected полям и методам родительского класса( m1 d$ |* `/ o( b4 n/ D1 g9 _4 j' ~; Y
  16.         name = "Buddy";      // доступ к полю name1 `2 B- i9 d* Q; w( Q& s5 T) k
  17.         eat();               // вызов метода eat
    ; d- b# s. p8 _5 [& A) b
  18.         bark();              // вызов метода bark' A  W; r' x4 x% U, {
  19.     }
    4 J+ `% _7 ?( s+ ?) |
  20. }; k+ e+ ?8 P; x
Скопировать код
В этом примере:
5 d+ Z  K- b  QОсновное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками.
0 F# W1 S: l% b4 L" \+ {Надеюсь, это объяснение помогло!% F9 `. t7 r" y* A6 F+ c! ]4 e
5 Z) m+ ?0 Y/ U% ]% G$ l; u& Q

. k) u) T4 `- t; }0 s" T. ]' f' `- @! z$ ^& m
. _% m0 W# s; j- r





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