Java руководство для начинающих - Шилдт Герберт (2012)
-
Год:2012
-
Название:Java руководство для начинающих
-
Автор:
-
Жанр:
-
Оригинал:Английский
-
Язык:Русский
-
Издательство:Вильямс
-
Страниц:316
-
ISBN:978-5-8459-1770-6
-
Рейтинг:
-
Ваша оценка:
Java руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги
Данные и код внутри объекта могут быть закрытыми (private) или открытыми (public). Закрытый код или данные доступны только элементам, содержащимся в том же самом объекте. Поэтому обратиться к такому коду или данным вне пределов объекта невозможно. Если код или данные являются открытыми, то к ним можно обращаться из любой части программы (несмотря на то, что они находятся внутри объекта). Как правило, открытые элементы объекта используются для создания управляемого интерфейса к его закрытым элементам.
Основной языковой конструкцией, поддерживающей инкапсуляцию в Java, является класс. Классы будут подробнее рассматриваться далее в этой книге, но о них нужно сказать несколько слов уже теперь. Класс определяет тип объекта. В нем определяются как данные, так и код, выполняющий определенные действия над этими данными. В Java определение или так называемая спецификация класса служит для построения объектов. Объекты представляют собой экземпляры классов. Следовательно, класс — это ряд “чертежей”, по которым строится объект.
Код и данные в составе класса называются членами класса. Данные, определенные в составе класса, принято называть переменными-членами или переменными экземпляра, а код, выполняющий действия над этими данными, — методами-членами, или просто методами. Метод — это термин, которым в Java принято обозначать подпрограмму. Если вы знакомы с языками C/C++, то, вероятно, знаете, что в этих языках для той же самой цели служит термин функция.
Полиморфизм
Полиморфизм (от греческого слова, означающего “много форм”) — это свойство, позволяющее с помощью одного интерфейса обращаться к общему ряду действий. Конкретное действие определяется ситуацией. В качестве примера, позволяющего лучше понять принцип полиморфизма, можно привести руль автомобиля. Руль (т.е. интерфейс) остается одним и тем же, независимо от того, какой именно механизм рулевого управления применяется в автомобиле, будь то зубчатая, реечная передача или гидроусилитель. Таким образом, зная, как обращаться с рулем, вы можете управлять автомобилем любого типа.
Тот же самый принцип применяется и в программировании. Рассмотрим в качестве примера стек (структуру данных, организованных по принципу “последним пришел — первым обслужен”). Допустим, в программе требуются три разнотипных стека. Первый стек служит для хранения целочисленных значений, второй — для хранения значений с плавающей точкой и третий — для хранения символьных значений. Каждый стек реализуется с помощью одного и того же алгоритма, несмотря на то, что в стеках хранятся разнотипные данные. На языке, не поддерживающем ООП, пришлось бы создавать три разных ряда процедур управления стеками, присвоив им разные имена. А на Java благодаря полиморфизму можно создать один общий ряд процедур управления стеками, который будет действовать по-разному в зависимости от конкретного типа стека. Таким образом, зная, как работать с одним стеком, можно обращаться со всеми тремя стеками.
Принцип полиморфизма хорошо иллюстрирует следующее выражение: “один интерфейс — множество методов”. Это означает возможность создания универсального интерфейса для группы взаимосвязанных действий. Полиморфизм упрощает программу благодаря возможности определить общий класс действий с помощью одного и того же интерфейса. Выбрать определенное действие (т.е. метод) — задача компилятора, и он решает ее в зависимости от конкретных условий. Как программисту вам не приходится выбирать метод вручную. Нужно лишь помнить основные принципы использования общего интерфейса.
Наследование