Чтение онлайн

на главную - закладки

Жанры

Java: руководство для начинающих
Шрифт:

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

Данные и код внутри объекта могут быть закрытыми (private) или открытыми (public). Закрытый код или данные доступны только элементам, содержащимся в том же самом объекте. Поэтому обратиться к такому коду или данным вне пределов объекта невозможно. Если код или данные являются открытыми, то к ним можно обращаться из любой части программы (несмотря на то,

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

Основной языковой конструкцией, поддерживающей инкапсуляцию в Java, является класс. Классы будут подробнее рассматриваться далее в этой книге, но о них нужно сказать несколько слов уже теперь. Класс определяет тип объекта. В нем определяются как данные, так и код, выполняющий определенные действия над этими данными. В Java определение или так называемая спецификация класса служит для построения объектов. Объекты представляют собой экземпляры классов. Следовательно, класс — это ряд “чертежей”, по которым строится объект.

Код и данные в составе класса называются членами класса. Данные, определенные в составе класса, принято называть переменными-членами или переменными экземпляра, а код, выполняющий действия над этими данными, — методами-членами, или просто методами. Метод — это термин, которым в Java принято обозначать подпрограмму. Если вы знакомы с языками C/C++, то, вероятно, знаете, что в этих языках для той же самой цели служит термин функция. Полиморфизм

Полиморфизм (от греческого слова, означающего “много форм”) — это свойство, позволяющее с помощью одного интерфейса обращаться к общему ряду действий. Конкретное действие определяется ситуацией. В качестве примера, позволяющего лучше понять принцип полиморфизма, можно привести руль автомобиля. Руль (т.е. интерфейс) остается одним и тем же, независимо от того, какой именно механизм рулевого управления применяется в автомобиле, будь то зубчатая, реечная передача или гидроусилитель. Таким образом, зная, как обращаться с рулем, вы можете управлять автомобилем любого типа.

Тот же самый принцип применяется и в программировании. Рассмотрим в качестве примера стек (структуру данных, организованных по принципу “последним пришел — первым обслужен”). Допустим, в программе требуются три разнотипных стека. Первый стек служит для хранения целочисленных значений, второй — для хранения значений с плавающей точкой и третий — для хранения символьных значений. Каждый стек реализуется с помощью одного и того же алгоритма, несмотря на то, что в стеках хранятся разнотипные данные. На языке, не поддерживающем ООП, пришлось бы создавать три разных ряда процедур управления стеками, присвоив им разные имена. А на Java благодаря полиморфизму можно создать один общий ряд процедур управления стеками, который будет действовать по-разному в зависимости от конкретного типа стека. Таким образом, зная, как работать с одним стеком, можно обращаться со всеми тремя стеками.

Принцип полиморфизма хорошо иллюстрирует следующее выражение: “один интерфейс — множество методов”. Это означает возможность создания универсального интерфейса для группы взаимосвязанных действий. Полиморфизм упрощает программу благодаря возможности определить общий класс действий с помощью одного и того же интерфейса. Выбрать определенное действие (т.е. метод) — задача компилятора, и он решает ее в зависимости от конкретных условий. Как программисту вам не приходится выбирать метод вручную. Нужно лишь помнить основные принципы использования общего интерфейса. Наследование

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

Без такой иерархической структуры для каждого объекта пришлось бы заново определять весь набор свойств. Благодаря наследованию для объекта достаточно указать те свойства, которые отличают его от других классов, а остальные общие атрибуты он наследует от своих родительских классов. Таким образом, благодаря наследованию возможно создать объект, являющийся экземпляром более общего класса. Установка комплекта Java Development Kit

Итак, усвоив теоретические основы Java, можно приступать к написанию программ на Java. Для того чтобы написанную программу можно было скомпилировать и запустить на выполнение, вам нужно установить на своем компьютере комплект Java Development Kit, поддерживающий процесс разработки программ на Java. Этот комплект свободно предоставляется компанией Oracle. На момент написания данной книги доступна была его версия JDK 7, применяемая на платформе Java SE 7, где SE — стандартная версия. Комплект JDK 7 содержит немало новых средств, которые не поддерживаются в предыдущих версиях Java, и поэтому для компиляции и выполнения примеров программ, представленных в этой книге, потребуется JDK 7 или более поздняя версия данного комплекта.

Комплект JDK можно загрузить по адресу www.oracle.com/technetwork/java/javase/downloads/index.html. Для этого достаточно перейти на страницу загрузки по указанному адресу и следовать инструкциям для вашего типа компьютера и операционной системы. После установки JDK вы сможете приступить к компиляции и запуску программ на выполнение. Среди многих программ, входящих в состав JDK, вам в первую очередь понадобятся две. Первая из них, javac, служит в качестве компилятора Java, а вторая, java, — в качестве стандартного интерпретатора Java и зачастую называется загрузчиком приложений.

Следует, однако, иметь в виду, что программы, входящие в состав JDK, запускаются из командной строки. Они не являются оконными приложениями и не составляют интегрированную среду разработки.

На заметку Помимо основных инструментальных средств JDK, доступных из командной строки, для разработки программ на Java имеются высококачественные интегрированные среды вроде NetBeans и Eclipse. Интегрированная среда может оказаться очень удобной для разработки и развертывания коммерческих приложений. Как правило, в интегрированной среде можно по желанию скомпилировать и выполнить примеры программ, представленных в этой книге. Но инструкции по компиляции и выполнению этих примеров программ приводятся в книге только для инструментальных средств JDK, доступных из командной строки, ради простоты усвоения по целому ряду причин. Во-первых, комплект JDK легко доступен для всех читателей книги. Во-вторых, инструкции по применению JDK одинаковы для всех пользователей. А кроме того, простые примеры программ, представленные в этой книге, проще всего компилировать и выполнять инструментальными средствами JDK из командной строки. Если же вы пользуетесь интегрированной средой разработки, вам придется следовать ее инструкциям. А в силу отличий, имеющихся у разных интегрированных сред разработки, дать общие инструкции по компиляции и выполнению программ, написанных на Java, не представляется возможным. Первая программа на Java

Попробуйте скомпилировать и запустить простую программу, исходный код которой приведен ниже. /* Это пример простой программы на Java. Присвоить ее исходному файлу имя Example.java. */ class Example { // Выполнение всякой программы на Java начинается // с вызова метода main. public static void main(String args[]) { System.out.println("Java drives the Web."); } }

Итак, выполните следующие действия.

Введите исходный код программы.

Скомпилируйте программу.

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

Поделиться:
Популярные книги

Назад в ссср 6

Дамиров Рафаэль
6. Курсант
Фантастика:
попаданцы
альтернативная история
6.00
рейтинг книги
Назад в ссср 6

Вечная Война. Книга VII

Винокуров Юрий
7. Вечная Война
Фантастика:
юмористическая фантастика
космическая фантастика
5.75
рейтинг книги
Вечная Война. Книга VII

Сиротка

Первухин Андрей Евгеньевич
1. Сиротка
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Сиротка

Мимик нового Мира 3

Северный Лис
2. Мимик!
Фантастика:
юмористическая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Мимик нового Мира 3

Убийца

Бубела Олег Николаевич
3. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.26
рейтинг книги
Убийца

Совок 4

Агарев Вадим
4. Совок
Фантастика:
попаданцы
альтернативная история
6.29
рейтинг книги
Совок 4

Довлатов. Сонный лекарь 2

Голд Джон
2. Не вывожу
Фантастика:
альтернативная история
аниме
5.00
рейтинг книги
Довлатов. Сонный лекарь 2

Наизнанку

Юнина Наталья
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Наизнанку

Последний попаданец

Зубов Константин
1. Последний попаданец
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Последний попаданец

Законы Рода. Том 6

Flow Ascold
6. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 6

Сильнейший ученик. Том 1

Ткачев Андрей Юрьевич
1. Пробуждение крови
Фантастика:
фэнтези
боевая фантастика
аниме
5.00
рейтинг книги
Сильнейший ученик. Том 1

Путь Шамана. Шаг 6: Все только начинается

Маханенко Василий Михайлович
6. Мир Барлионы
Фантастика:
фэнтези
рпг
попаданцы
9.14
рейтинг книги
Путь Шамана. Шаг 6: Все только начинается

Магия чистых душ

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.40
рейтинг книги
Магия чистых душ

Неверный

Тоцка Тала
Любовные романы:
современные любовные романы
5.50
рейтинг книги
Неверный