Объектно-ориентированное программирование на Java. Платформа Java SE. Тимур Машнин
Чтение книги онлайн.

Читать онлайн книгу Объектно-ориентированное программирование на Java. Платформа Java SE - Тимур Машнин страница 30

СКАЧАТЬ понятия инкапсуляции и сокрытие информации.

      Хотя для некоторых эти две концепции идут вместе, то есть инкапсуляция всегда подразумевает сокрытие информации.

      Как правило, мы хотим иметь приватные переменные экземпляра и публичные методы, которые получают доступ к этим переменным.

      Но мы должны запрограммировать это явно с помощью ключевых слов «private» и «public».

      Всегда рекомендуется делать переменные приватными.

      А затем определять публичные методы для установки значений переменных и получения значений переменных.

      Как правило, название этих двух типов методов соответствует одному и тому же шаблону:

      Как правило, имена этих методов начинаются со слова «set» и начинаются со слова «get».

      Поэтому эти методы иногда называют сеттеры и геттеры.

      Заметим, что в методе setGas мы имеем параметр g, который присваивается полю gas.

      Иногда, мы хотим назвать параметр setGas тем же именем, что и переменную экземпляра.

      И с этим не возникает никаких проблем.

      Однако, если мы хотим отличить визуально параметр от поля, мы можем использовать ключевое слово this и точку перед именем.

      Это означает, что это имя относится к полю класса.

      В некоторых случаях нам нужно иметь поля класса, которые имеют общее значение для всех объектов в классе.

      Эти переменные называются переменными класса, а не переменными экземпляра класса, и они объявляются с помощью ключевого слова «static».

      Эти переменные не создаются для каждого созданного объекта класса.

      Они создаются только один раз для всех объектов класса.

      И если мы изменим это значение, оно будет изменено для всех объектов.

      Если мы не хотим, чтобы эта переменная менялась,

      Мы можем сделать ее константой, добавив ключевое слово «final».

      Мы можем также сделать это и для переменных экземпляра.

      По соглашению, имена таких переменных пишутся в верхнем регистре, заглавными буквами.

      Как показано здесь.

      Значения финальных переменных могут быть установлены только один раз.

      Таким образом, теперь у нас есть разные виды переменных.

      С одной стороны, у нас есть локальные переменные.

      Затем у нас есть переменные экземпляра, которые создаются для каждого объекта или экземпляра класса.

      Каждый объект может иметь свое значение, хранящееся в этой переменной.

      Мы можем использовать ключевое слово «this» для обозначения этих переменных.

      И у нас есть переменные класса, которые создаются только один раз для всех объектов одного класса.

      Они объявляются с ключевым словом «static».

      Статические переменные инициализируются только один раз, при запуске выполнения кода, при загрузке СКАЧАТЬ