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

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

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?2 j" i  R/ Y+ K+ a3 g/ ?- J
Когда переменная или метод класса объявлены с модификатором protected, это означает следующее:5 S+ z! L3 }  O) Y* r3 c6 Z

9 j  h4 c) V4 {: ^: G
. j/ S& x$ u. U5 RРазличие между public, protected, private, и default (package-private):
Пример:/ C9 @1 G# X  s, @) N4 q
  1. public class Animal {) F+ y+ J" N, t2 q
  2.     protected String name;( b  J& W/ Z" e/ u' O; N
  3. 5 S* O. O: V, a1 }% m
  4.     protected void eat() {
    1 L2 n4 t2 M! N
  5.         System.out.println("Animal is eating");
    ' W+ }6 }; U* N/ V
  6.     }9 A4 S4 H9 k5 B( Q  i2 i7 R- e* ~) I
  7. }' X& B% k$ R3 M4 ~2 u

  8. 6 k$ j5 M: N- Y% ?& \. u0 D: n
  9. public class Dog extends Animal {
    * D4 N! Y1 q6 e- r( m, H
  10.     public void bark() {
    % [. j/ V, l3 t
  11.         System.out.println("Dog is barking");9 e* h  A7 m* C$ U8 }' E
  12.     }
    " l" J! D  w' [1 x: `
  13. / d  B3 F# t3 F  a
  14.     public void dogBehavior() {
    % n! h) W. o* U( |$ V+ F& F
  15.         // Доступ к protected полям и методам родительского класса& K9 D- j% u( D
  16.         name = "Buddy";      // доступ к полю name
    ' ?7 j! a. h9 D0 X
  17.         eat();               // вызов метода eat1 X. V# H7 H% D/ y
  18.         bark();              // вызов метода bark- v, q. L  a  m; t6 @
  19.     }' {  Y; E% e" m' ?6 J
  20. }& f2 \7 i; A, L9 e2 \
Скопировать код
В этом примере:
1 D) W, [) ~7 t# PОсновное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками.
! g, W5 F1 j3 `, M2 `1 G; PНадеюсь, это объяснение помогло!
% c: B! C2 j/ t+ A/ g% [: G: p% K4 q) x
# @2 O8 F) n2 x

+ o) c9 @, t$ e. @; o; o! C2 g/ S! @9 f





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