суббота, 1 декабря 2018 г.

3 Из чего состоит JAVA программа. Классы, объекты, методы, пакеты, интерфейсы

   Исходный код программы Java состоит из классов, классы содержат в себе методы (функции), а методы содержат в себе команды. Классы и интерфейсы группируют в пакеты.
 
  •    В исходном виде программа на языке Java это набор файлов с расширением java, содержащих исходный код на языке Java
  
  •    В скомпилированном виде программа на языке Java это набор объектов - скомпилированных классов и интерфейсов, содержащихся в двоичных файлах с расширением class, которые предназначены для выполнения виртуальной машиной Java

   Весь исполняемый код, написанный на языке Java, хранится внутри классов или интерфейсов. Вне классов и интерфейсов могут располагаться лишь инструкции import и package, а также комментарии.
   Скомпилированные файлы должны быть размещены в каталогах с иерархической структурой, повторяющей структуру пакетов, в которые вложены данные классы и интерфейсы. 

   В простейшем случае программа состоит из файла, в котором содержится исходный код единственного класса и один метод main.
   (Минимальная программа состоит из одного класса)

   (Если планируется, что программу не будут запускать на выполнение, а описанный класс будет лишь использоваться в других программах, то наличие в тексте метода main не обязательно)
   Обязательным условием корректности такой программы является совпадение имени файла (без расширения) с именем единственного класса размещённого в этом файле.
   Например, класс Tea должен храниться в файле с именем Tea.java.

   В одном файле может содержаться несколько классов.    В этом случае имя файла (без расширения) должно совпадать с именем любого из этих классов.

   Программа может состоять из нескольких файлов, в каждом из которых содержатся один или более классов.
   В этом случае имя каждого класса (без расширения) должно совпадать с именем одного из классов, в нём содержащихся.

   Пример простейшей программы:

   public class Tea
{
   public static void main (String[] args)
   {
   Код метода
   }
}


Что такое пакеты
 
   Когда файлов с классами много, то их, как правило, группируют (помещают) в специальные контейнеры - пакеты, создавая тем самым иерархическую систему  (как аналог папок (директорий) в файловой системе (на компьютере)).
 
   На диске пакет является каталогом (папкой) и все исходные файлы и файлы классов, принадлежащих одному и тому же пакету, находятся в одном каталоге.
   Java пакеты могут содержаться в сжатом виде в JAR файлах.
 
   Имена пакетов и подпакетов нужно указывать в коде класса, и они должны совпадать с именами папок и подпапок на диске. Т.е. имя класса обязано совпадать с именем файла, в котором этот класс описан, а имя пакета должно совпадать с именем папки, в которой хранится класс.


   Обычно в пакеты объединяют классы одной и той же категории, либо предоставляющие сходную функциональность.
  Таким образом можно группировать типы, что необходимо сразу для нескольких целей:
 
   - Существует специальный уровень доступа, позволяющий типам из одного пакета более тесно взаимодействовать друг с другом, чем с классами из других пакетов
 
   -    Организация классов в виде пакетов позволяет избежать конфликта имен между классами (когда разработчики называют свои классы одинаковыми именами).
      Каждый пакет имеет свое пространство имен, что позволяет создавать одноименные классы в различных пакетах.
 
   - С применением пакетов гораздо проще эффективно организовать взаимодействие подсистем друг с другом

 
   Подробнее о пакетах, подпакетах и их импорте (import) в Java можно прочитать здесь:



Что такое класс (class)
 
     Класс представляет собой контейнер, содержащий программный код.
   Код внутри класса представляет собой набор элементов - описание полей, констант, методов, интерфейсов и других классов.
   Класс - по сути является шаблоном (описанием) для объекта: он определяет, как объект будет выглядеть и какими функциями обладать.
   Класс представляется в исходном коде так:

   class ИмяКласса
{
Тело класса

   Подробнее о классах в Java можно прочитать здесь:
 
 
Объект Java

   Объект - экземпляр класса. Каждый объект является объектом какого-то класса.
    Объекты возникают после запуска результатов компиляции и связывания исходного кода на выполнение.
   (Объект - сущность в адресном пространстве вычислительной систем, появляющаяся при создании экземпляра класса.)

   Класс - по сути является шаблоном (описанием) для объекта: он определяет, как объект будет выглядеть и какими функциями обладать.

   Рецепт (шаблон) выпечки пирожков можно назвать классом. Реально же существующий экземпляр данного класса (шаблона) - пирожок является объектом этого класса.
   Любой объект может обладать двумя основными характеристиками:
      - состояние (некоторые данные, которые хранит объект)
         Для хранения состояния объекта в классе применяются поля или переменные класса. 
      - поведение (действия, которые может совершать объект)
      Для определения поведения объекта в классе применяются методы.


Что такое метод

   Метод (функция) - это набор инструкций (команд), выполняемых программой, которому присвоили имя (имя метода).

   Код (тело) метода – это набор выражений (команд) (инструкций). Инструкции для метода должны быть размещены между его фигурными скобками - в "теле метода".

   Подробнее о методах можно прочитать здсь:


О командах

   Каждая команда описывает какое-то определённое действие.
   В конце каждой команды ставится точка с запятой.
   В круглых скобках после имени команды передаются её параметры.

   Примеры команд:
   System.out.print - команда, отвечающая за вывод сообщения на экран. Следующая команда после этой выведет сообщение на эту же строку.
   System.out.println - команда, отвечающая за вывод сообщения на экран с новой строки. Т.е. сначала выводит заданный текст, а потом делает перевод на новую строку. Следующая команда после этой выведет сообщение на новую строку.

   Пример записи команды в коде:
   System.out.println(10); Результат: выводит на экран число 10
   System.out.println("строка"); Результат: выводит на экран слово строка


Что такое интерфейсы

   Интерфейс – это скелет (заготовка) класса с перечислением необходимых методов, но без их кода.

   Интерфейс, подобно классу, можно рассматривать как контейнер, содержащий некоторые программные элементы, а именно, заголовки методов и константы.
   Интерфейсы невозможно запустить на выполнение: они, в отличие от классов, не могут содержать тел никаких методов, в том числе и метода main.
   Класс можно наследовать и использовать, а для интерфейса же нужно, чтобы кто-то создал класс, написав в нем тексты заявленных методов - только после этого он будет пригоден к использованию
   В остальном всё, что относится к классам, распространяется и на интерфейсы.
   К примеру, программный код интерфейсов также располагается в текстовых файлах с расширением .java, а сами интерфейсы могут быть помещены в пакеты.
   Также в результате компиляции для каждого интерфейса создаётся файл с расширением class, содержащий его байтовый код, а имя этого файла (без расширения) совпадает с именем интерфейса.

   В тексте класса, который реализует (имплементирует) интерфейс, должны быть написаны тексты всех методов, декларированных в этом интерфейсе.
   Класс может реализовывать сразу несколько интерфейсов. В этом случае они указываются через запятую после слова implements.
   Интерфейсы используют при разработке объемных программ большими коллективами: один программист может прописать несколько интерфейсов, а другие по его заданию подробно расписать классы, реализующие эти интерфейсы. Таким образом облегчается планирование работы и экономится время. 


Комментариев нет:

Отправить комментарий

Наследование в Java

   «родительское/дочернее»     Наследование (inheritance) - свойство системы, позволяющее описать (создать) новый класс на основе уже су...