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

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

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?& ^* }& y) l% j0 a8 o
Когда переменная или метод класса объявлены с модификатором protected, это означает следующее:2 U5 i4 v& P* c+ G) ^2 q
) }7 @- {/ f2 v

0 F+ t$ ]$ o: bРазличие между public, protected, private, и default (package-private):
Пример:0 d: W% J% c& X; R# s- w3 L- k
  1. public class Animal {
    + L0 v9 F5 A' r4 m/ K3 @
  2.     protected String name;7 U7 K8 T' b* N* j" e

  3. & K8 H% ]6 a9 W/ V$ `' c% B
  4.     protected void eat() {
    & ]7 n5 p; ]- [0 v% B- u
  5.         System.out.println("Animal is eating");
    7 X- s9 y; o  z7 U% N
  6.     }/ w' Y  f: Y% D# I/ ^
  7. }6 c3 r- M$ [- d# C. [' t1 f

  8. 9 Q, D% V: t: t2 ]8 z2 l( r  p
  9. public class Dog extends Animal {
    8 Y6 F: Q6 T# v. ?' u
  10.     public void bark() {
    $ O/ v6 ^8 [7 |- Y8 T8 v9 S
  11.         System.out.println("Dog is barking");; K+ i2 d+ s% x/ T; F
  12.     }4 |* e, |6 i* w( P. S) {' _) @

  13. ; Z8 s2 u$ Z6 n& _! O
  14.     public void dogBehavior() {
    . W" A# H. j4 w2 U
  15.         // Доступ к protected полям и методам родительского класса
    8 \' m" E, S" y$ z6 g
  16.         name = "Buddy";      // доступ к полю name* \6 C4 i# P# n( s- R9 V( `* `, R
  17.         eat();               // вызов метода eat4 g. P! P: u' X- j8 r# o  G& Y7 j
  18.         bark();              // вызов метода bark
    4 l1 V& y) G0 Q* M; B( |7 U
  19.     }* l+ v' O& G4 o' v5 _' Y$ A3 T
  20. }
    5 ~7 K+ ^% j. e
Скопировать код
В этом примере:
% W  A# {$ {( ]# {Основное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками.
  s, R" b% N- U( {( ^! HНадеюсь, это объяснение помогло!" c+ K! T7 I0 b4 m) O9 _: m( f7 K/ @

3 H% F8 A4 s) P; @) X
  D) @# ]: f& h: p. M+ K/ P/ }$ w7 N! \! H/ ]. @( z4 }
8 ?  p# x* n) C





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