Java – популярный язык программирования, который относится к объектно-ориентированным. Он включает в себя классы и объекты. Это – значимые ключевые функции системы объектно-ориентированного программирования. В Java поддерживаются такие фундаментальные концепции ООП как:
- наследование;
- полиморфизм;
- абстракция;
- инкапсуляция;
- экземпляр;
- метод;
- передача сообщений;
- класс;
- объект.
Далее предстоит познакомиться с классами и объектами в Java. Представленная ниже информация рассчитана как на обычных пользователей, так и на тех, кто недавно начал заниматься программированием. Это «база», без которой разрабатывать программное обеспечение на упомянутом языке не представится возможным.
Класс – это…
Класс в Java – это схема, на основе которой будут создаваться объекты. Тип данных объектного типа. В рассматриваемом языке весь программный код связан классами и объектами. У каждого класса имеются свои собственные методы и атрибуты. К ним допустимо получение доступа. Некоторыми атрибутами и методами класса можно управлять (манипулировать) через объекты.
Класс – шаблон создания объекта, а объект – экземпляр класса. За счет классов в Java можно определить структуру и поведения, которые будут использованы совместно с тем или иным набором объектов.
Класс включает в себя так называемые методы. Они зовутся членами класса или элементами класса. Рассматриваемый компонент языка формирует основу инкапсуляции в Java.
В качестве примера можно рассмотреть ситуацию, при которой хочется создать класс для студентов. В этом случае «Student» выступит классом. Записи об учениках являются объектами.
Каждый класс имеет несколько элементов:
- имя;
- ключевое слово class, с которого начинается запись;
- фигурные скобки, в которых необходимо описать тот или иной элемент кода.
Классовым параметром называется переменная, описывающая свойство используемого объекта.
Классовые свойства
К классовым свойствам Java можно отнести следующие особенности:
- Рассматриваемый программный компонент не занимает совершенно никакой памяти, даже одного байта.
- Class – элемент, который похож на реальную сущность. Он представляет собой схему, в которой указываются функциональные возможности той или иной сущности.
- В составе рассматриваемого компонента есть методы и элементы данных.
- Классы следуют всем правилам и принципам объектно-ориентированного программирования.
- Допускается вложенность изучаемого компонента кода.
Эти особенности помогут лучше разобраться в изучаемом направлении.
Типы переменных
В Джава классы могут включать в себя разнообразные типы переменных:
- Локальные. Это переменные, которые определяются внутри методов, конструкторов или блоков. Такие элементы объявляются и инициализируются внутри метода. Переменная локального характера будет удалена по завершении работы метода.
- Переменные экземпляра. Это переменные, которые располагаются внутри класса, но вне какого-либо метода. Они инициализируются при создании экземпляра класса. Доступ к ним возможен изнутри любого конструктора, блока или метода этого конкретного класса.
- Переменные класса. Они объявляются внутри class, вне какого-либо метода. Для записи такого компонента необходимо использовать ключевое слово static.
- Анонимные. Это переменные, которые будут создаваться разработчиком «на ходу».
Представленная выше информация – «база», без которой синтаксис рассматриваемого элемента Джава будет непонятен.
Синтаксическая форма
Для объявления class в Java необходимо использовать модификаторы доступа, за которыми следует ключевое слово class и классовое имя. Далее – фигурные скобки, а в них – описание изучаемого элемента.
Общая синтаксическая форма для создания рассматриваемого компонента в Java будет представлена так:
access_modifier class имя_класса (
элементы данных; конструкторы; методы;
…;
}
А вот шаблон, который выступает упрощенной формой классового объявления:
После ключевого слова class всегда пишется имя рассматриваемого элемента. В теле – указываются переменные и методы, которые будут использоваться системой относительно изучаемого компонента. Их количество ничем не ограничено.
Чтобы лучше понимать принцип объявления класса, рекомендуется рассмотреть один простейший пример. Пусть будет задан class для объекта Box (коробка). У этого предмета имеются три ключевые характеристики:
- ширина;
- высота;
- глубина.
Эти параметры будут описаны через переменные.
Выше – наглядный пример объявления класса в Джаве. Теперь можно рассмотреть работу с этим компонентом программного кода более детально.
Методы
Методы – это именованные кодовые блоки. Они объявляются внутри class. Представляют собой своеобразные законченные последовательности действий (инструкций), направленных на решение изначально поставленной задачи. Методы предусматривают возможность многократного применения в программном коде.
Метод – это некоторая функция. Что-то, что умеет делать заданный class в программном коде. В Java методы – это члены класса. Они представляются разнообразными функциями.
Методы принимают различные аргументы. Это то, что нужно передать в функцию. Количество аргументов ничем не ограничивается. Параметры могут быть заданы путем перечисления через запятую. Допустимо также их полное отсутствие.
Вот метод, который должен отыскать среди двух целых чисел наибольшее значение. Тип возвращаемого значения будет int.
Данный фрагмент работает так:
- В заголовке метода сначала перечисляются модификаторы. Они определяют, на каких условиях метод будет доступен для вызова.
- Int – это возвращаемый тип.
- maxFinder – имя используемого метода.
- В скобках задаются параметры, которые нужно реализовать.
- В теле метода создается переменная max. В нее разработчик будет записывать наибольшее числовое значение из имеющихся.
- Далее значения чисел сравниваются, большее из них фиксируется и записывается в max.
- Система возвращает max в качестве ответа на пользовательский запрос.
Return может работать не только с одной переменной, но и с целым выражением.
Модификаторы доступа
Изучая классы и объекты в Java, необходимо помнить о так называемых модификаторах доступа. Они указывают область видимости для классовых членов. Это ограничение мест, в которых разрешено задействовать переменную или метод.
В Java поддерживаются следующие модификаторы доступа:
- Публичный или public. Методы и поля с таким модификатором являются общедоступными. Они видимы другим классам (их полям и методам) из текущего и внешних пакетов. Public – наиболее широкий уровень доступа из всех известных в разработке программного обеспечения.
- Protected. Если применен этот модификатор, доступ к переменным и методам класса будет из любого места в текущем классе или пакете, а также в классах-наследниках данного.
- По умолчанию. Если у поля/метода нет модификатора, имеет место говорить о применении модификатора по умолчанию. В данном случае поля/методы видные всем классам в пределах текущего пакета подобно protected, но с отсутствием видимости при наследовании.
- Приватный или private. Это противоположность public. Метод или переменная при наличии такого модификатора будут доступны только в классе, в котором они объявлены.
Теперь можно более подробно рассмотреть объекты в Джаве и их ключевые особенности.
Объект – определение
Задумываясь, что такое объект в Java, необходимо запомнить, что это переменная типа class. Один из базовых элементов объектно-ориентированного программирования.
Каждый класс в Джаве имеет методы и элементы данных (атрибуты). Доступ к ним предоставляется через объекты. Именно поэтому объект – это классовый экземпляр.
Чтобы лучше понимать, что собой представляет упомянутый компонент, рекомендуется рассмотреть жизненные примеры. В реальном мире можно повстречать множество объектов вокруг:
- собак;
- людей;
- автомобилей;
- кошек и так далее.
Каждый объект имеет определенное состояние и поведение. Пусть в качестве наглядного примера будет собака. У нее в качестве состояния выступают:
- порода;
- окрас;
- кличка.
К собачьему поведению можно отнести:
- лай;
- бег;
- виляние хвостом;
- навык давать лапу и так далее.
Если сравнить программный объект с объектом из реального мира, можно заметить, что они обладают схожими характеристиками. Программные объекты тоже имеют состояние и поведение.
Состояние будет храниться в полях, а поведение – выражаться через методы. В процессе разработки программного обеспечения методы будут воздействовать на внутреннее состояние объектов, а межобъектная связь осуществляется через методы.
Создание объектов
С созданием классов в Джаве разобрались. Теперь можно перейти к работе с объектами. Класс предоставляет схемы элементов для объектов. Рассматриваемый элемент будет создан фактически из класса. Чтобы добиться желаемого результата, нужно задействовать ключевое слово new.
При создании объекта класса требуется выполнить несколько шагов:
- Декларация. Это процедура создания переменной с именем переменной с типом объекта.
- Создание экземпляра. На данном этапе нужно использовать ключевое слово new.
- Инициализация. После ключевого слова необходимо вызвать конструктор. Он инициализирует новый object.
Вот как выглядит в общих чертах синтаксис создания объекта в Джаве:
Имя_класса имя_объекта = новое имя_класса ([аргументы (параметры)]);
А ниже можно увидеть наглядный пример реализации рассматриваемой операции. Стоит обратить внимание на то, что классовое объявление создает лишь шаблон, а не определенный объект.
При создании классового экземпляра будет создан объект, который включает в себя собственную копию каждой переменной экземпляра.
А вот пример, в котором объявляются два объекта Box. Каждый из них получает определенные значения. Изменения переменных в экземпляре одного объекта никак не будут влиять на переменные экземпляра другого.
Присваивание ссылок на объекты
В программировании на Джаве могут встречаться ситуации, при которых две переменные будут указывать на один и тот же объект в памяти. Вот как будет выглядеть соответствующая ситуация:
Здесь:
- При объявлении b1 осуществляется создание нового объекта в памяти.
- Когда объявляется b2, вместо нового объекта переменной присваивается ссылка на объект b1.
- Объект, на который указывает b1, получает значение 10, 20, 30.
- Ширина объекта, на который указывает b2, получает значение 3.
В программном коде это выглядит так:
В описанной ситуации обе имеющиеся переменные указывают на один и тот же объект.
Выше можно увидеть, к чему приведет результат выполнения ранее представленного кодового фрагмента.
Добавление методов
Классы и методы в Java – это основа разработки программного обеспечения. Кроме переменных, классы могут включать в себя различные методы. Пусть в Box будут добавлены две «команды»:
- getVolume() – чтобы вычислить объем имеющейся коробки;
- setDim() – чтобы установить размеры коробки.
Задействованы будут нестатические methods. В обоих предоставляется доступ к переменным класса.
Представленный выше фрагмент используется для setDim(). Здесь сначала создаются два элемента Box. Вместо инициализации каждой классовой переменной осуществляется вызов setDim(). Туда передаются необходимые значения для ширины, высоты и глубины. Этот прием делает исходный код более компактным и удобным. Нестатический method всегда вызывается для какого-либо object.
Выше – фрагмент кода, который демонстрирует подсчет объема коробки с вызовом getVolume() для каждого Box отдельно.
Лучше изучить Java и основы работы с этим языком помогут дистанционные компьютерные курсы.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!