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

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

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?# b1 X; O1 q7 O, V4 [1 _
Когда переменная или метод класса объявлены с модификатором protected, это означает следующее:3 H: ^  F! m2 \  v! }$ S) p
7 I, K' B0 s0 a/ Z3 _. a
/ O0 s# F. a+ ]! o( h
Различие между public, protected, private, и default (package-private):
Пример:4 T7 ?3 e0 m3 H& _  Z+ J) C* ~  M
  1. public class Animal {
    1 c% U% t/ K+ g) p' Z1 Y
  2.     protected String name;* \5 Y5 f4 \$ C4 B4 n4 W; ~# _
  3. ; O6 y. v  }* \! Q
  4.     protected void eat() {
    1 }* K3 q2 S# `5 D- W
  5.         System.out.println("Animal is eating");: X2 S: X. F. p( ?  ^5 t, ^
  6.     }# `: W0 h4 l9 r6 F
  7. }  K- P1 T! n2 y5 y4 ]  A' G
  8. ; D/ h, G1 E* ^: B- [" ^
  9. public class Dog extends Animal {
    ) @+ A2 R; Y' C0 U5 h6 E% X2 X
  10.     public void bark() {
    6 k) Z8 ]/ w( b" d5 [/ P
  11.         System.out.println("Dog is barking");
      a& g% M# c+ m" C: _
  12.     }
    0 b1 S( M# d6 v9 W3 P# C

  13. % V- a, B9 o$ @* h& P. ^+ i% \3 Y2 V
  14.     public void dogBehavior() {
    - S4 p4 Q: |+ g
  15.         // Доступ к protected полям и методам родительского класса
    , {8 `" F: H" X+ N+ q6 J
  16.         name = "Buddy";      // доступ к полю name  g: {) Q! c" H  Z; \' B
  17.         eat();               // вызов метода eat- `, a' @3 W7 Q" V- g/ @. e
  18.         bark();              // вызов метода bark0 Z' `% Q) V$ W% Z& w7 ?$ ?
  19.     }
    9 @2 O# t$ o* ]0 D
  20. }
    % V# l, M" J/ T$ O$ V6 V' t
Скопировать код
В этом примере:6 f8 o$ A* i" v2 R) l) {+ A$ F
Основное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками.
. \3 J# Z5 p7 \$ Q2 R  lНадеюсь, это объяснение помогло!
4 f7 a( l$ d! C, p4 q
9 w  r( [3 G6 p) J# y' v, u: l1 n3 B# p+ i( D0 m$ J# M: m

/ A3 y1 g. G3 c6 e! L) g* M  _7 O+ c' {9 I, M0 `$ Q





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