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

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

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?! o/ Z: Z% P, K- B5 X6 L
Когда переменная или метод класса объявлены с модификатором protected, это означает следующее:2 m0 D' J# B0 D3 o6 W' q4 F" {

8 e2 f' c0 e$ V' k% r; z8 }5 U. x0 E8 T
Различие между public, protected, private, и default (package-private):
Пример:- H% f/ k9 q- R" b/ w
  1. public class Animal {8 h: k$ Z# Z+ y% d9 s* [
  2.     protected String name;' x# p2 E+ \. O3 p% S3 M

  3. . v5 K2 R8 A/ @
  4.     protected void eat() {! l' _- Z4 ~5 C4 h3 p
  5.         System.out.println("Animal is eating");1 U0 l3 H* X% L4 |% x, e9 a
  6.     }
    " }" Y. ]7 M* d) _* t7 a
  7. }
    * F) n8 k& w3 Q7 T+ y
  8. # D1 K9 S5 n/ F8 F) A; \6 V
  9. public class Dog extends Animal {% B0 ?/ j( d8 e" `) F! D$ ^
  10.     public void bark() {
    ) e: \+ L  u. ~
  11.         System.out.println("Dog is barking");4 v& s7 W- M! q  `
  12.     }7 e2 W& m2 y) q# T5 ^. z/ j

  13. $ W5 U: Y4 W! L5 O: _  P  E) ]
  14.     public void dogBehavior() {
    3 H( G& m9 @9 L6 {0 Q3 `
  15.         // Доступ к protected полям и методам родительского класса) M% L6 W) V2 D! l
  16.         name = "Buddy";      // доступ к полю name( o, }6 s& K! w2 ~# Z2 x
  17.         eat();               // вызов метода eat$ [0 E. J6 w. V9 m' P
  18.         bark();              // вызов метода bark$ q2 f. y2 y- R! ]3 ~
  19.     }0 N5 Y- Z, i2 W$ \
  20. }) ]% G4 C+ d. K5 y! }, L. g+ W
Скопировать код
В этом примере:3 _. r2 M9 o. b5 \+ K
Основное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками.5 o# T9 d) K$ c' S5 T
Надеюсь, это объяснение помогло!
! s/ ^9 |/ f4 v0 S2 T0 \0 ^) K5 @5 g5 T
1 s$ X4 v. }# {" Y
0 w: z. |9 M, y4 D; Q, d) `) [

3 _. z8 U" D( o+ t) ^




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