Каковы последствия ключевого слова Private в Java?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Каковы последствия ключевого слова Private в Java?

Сообщение Anonymous »

Следующий код работает и работает отлично.

Код: Выделить всё

public class Complex {

private int real, imag;

Complex(int r, int i) {
real = r;
imag = i;
}

public static Complex add(Complex c1, Complex c2) {
return new Complex(c1.real + c2.real, c1.imag + c2.imag);
}

public String toString() {
return real + "+i" + imag;
}

public static void main(String[] args) {

Integer.parseInt("5");
System.out.println(Complex.add(new Complex(2, 3), new Complex(3, 4)));

}

}
Теперь, согласно объектно-ориентированной модели проектирования, доступ к частным элементам экземпляра не должен осуществляться через ссылку на объект (что было сделано здесь c1.real ).

Итак, в этом смысле должна быть ошибка компилятора. Но оно не возражает.

Теперь, насколько я понимаю, это разрешено, потому что
  • c1. реальный код пишется в теле самого закрытого класса Complex.
  • Разработчик сложного класса должен иметь доступ ко всем членам экземпляра [будь то частный, защищенный что угодно] при доступе через ссылку на объект, поскольку разработчик очень хорошо знает, что он делает, в отличие от любой третьей стороны. Вот почему здесь не используется объектно-ориентированная модель модели.
Может ли кто-нибудь предложить лучшее объяснение, почему c1.real здесь разрешен код?

Подробнее здесь: https://stackoverflow.com/questions/995 ... rd-in-java
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как использовать переменную из одного ключевого слова до другого ключевого слова в рамках робота
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • System.ArgumentException: 'Данные PKCS8 должны содержаться в пределах '-----BEGIN PRIVATE KEY-----' и '-----END PRIVATE
    Гость » » в форуме C#
    0 Ответы
    76 Просмотры
    Последнее сообщение Гость
  • Каковы последствия over.over#note-2?
    Гость » » в форуме C++
    0 Ответы
    51 Просмотры
    Последнее сообщение Гость
  • Каковы последствия деактивации Mongock-Lock?
    Anonymous » » в форуме JAVA
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Каковы последствия вложенности классов?
    Anonymous » » в форуме Python
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»