Проектирование и создание объектов

Если вы новичок в объектах, вы, скорее всего, будете использоваться для создания программ на Java, использующих только один файл - файл основного класса Java. Это класс, у которого метод main определен для начальной точки Java-программы.

Определение класса на следующем шаге должно быть сохранено в отдельном файле. Он следует тем же правилам именования, которые вы использовали для файла основного класса (то есть имя файла должно совпадать с именем класса с расширением имени файла .java). Например, когда мы создаем класс Book, следующее объявление класса должно быть сохранено в файле с именем «Book.java».

Данные, которые содержит объект, и то, как он манипулирует этими данными, указывается посредством создания класса. Например, ниже приведено очень простое определение класса для объекта Book:

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

instagram viewer

Поля - это просто обычные переменные с одним важным ограничением - они должны использовать модификатор доступа «private». Ключевое слово private означает, что к этим переменным можно получить доступ только из класса, который их определяет.

Замечания: это ограничение не применяется компилятором Java. Вы можете сделать публичную переменную в своем определении класса, и язык Java не будет жаловаться на это. Тем не менее, вы нарушите один из фундаментальных принципов объектно-ориентированного программирования - данные инкапсуляция. Доступ к состоянию ваших объектов возможен только через их поведение. Или, если выразить это на практике, доступ к полям вашего класса возможен только через методы класса. Вы должны обеспечить инкапсуляцию данных в создаваемых вами объектах.

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

Поведения - это действия, которые может выполнять объект, и они записаны как методы. На данный момент у нас есть класс, который можно инициализировать, но больше ничего не делать. Давайте добавим метод с именем «displayBookData», который будет отображать текущие данные, хранящиеся в объекте:

Мы можем добавить столько методов и полей, сколько пожелаем, но сейчас давайте посмотрим на класс Book как завершенный. Он имеет три поля для хранения данных о книге, его можно инициализировать и отображать содержащиеся в нем данные.

С левой стороны от знака равенства находится объявление объекта. Он говорит, что я хочу создать объект Book и назвать его «firstBook». Справа от знака равенства находится создание нового экземпляра объекта Book. Что он делает, так это идет к определению класса Book и запускает код внутри метода конструктора. Таким образом, новый экземпляр объекта Book будет создан с полями заголовка, автора и издателя, для которых установлены значения «Horton Hears A Who!», «Dr Suess» и «Random House» соответственно. Наконец, знак равенства устанавливает наш новый объект firstBook как новый экземпляр класса Book.

instagram story viewer