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

Ако сте нови за обектите, най-вероятно ще бъдете използвани за създаване на Java програми, използвайки само един файл - основен файл на Java. Това е класът, който има основния метод, определен за начална точка на Java програма.

Определението на класа в следващата стъпка трябва да бъде записано в отделен файл. Следва същите указания за именуване, каквито сте използвали за файла на основния клас (т.е. името на файла трябва да съвпада с името на класа с разширението на името на файла .java). Например, докато правим клас Book, следната декларация за клас трябва да бъде записана във файл, наречен „Book.java“.

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

Полетата се използват за съхранение на данните за обекта и комбинирани те съставят състоянието на обект. Тъй като ние правим обект на Книга, би имало смисъл тя да съдържа данни за заглавието, автора и издателя на книгата:

instagram viewer

Полетата са просто нормални променливи с едно важно ограничение - те трябва да използват модификатора на достъп „частен“. Частната ключова дума означава, че тези променливи могат да бъдат достъпни само от класа, който ги дефинира.

Забележка: това ограничение не се налага от компилатора на Java. Можете да направите публична променлива в дефиницията на вашия клас и Java езикът няма да се оплаче от нея. Ще нарушите обаче един от основните принципи на обектно-ориентираното програмиране - данни капсулиране. Състоянието на вашите обекти трябва да бъде достъпно само чрез тяхното поведение. Или да го кажем практически, полетата на вашия клас трябва да бъдат достъпни само чрез методите на вашия клас. От вас зависи да наложите капсулиране на данни върху създадените от вас обекти.

Методът конструктор използва същото име като класа (т.е. Book) и трябва да бъде обществено достъпен. Взима стойностите на променливите, които се предават в него и задава стойностите на класовите полета; като по този начин поставите обекта в първоначално състояние.

Поведенията са действията, които един обект може да извърши и се записват като методи. В момента имаме клас, който може да бъде инициализиран, но не прави много друго. Нека добавим метод, наречен "displayBookData", който ще показва текущите данни, съхранявани в обекта:

Бихме могли да добавим колкото се може повече методи и полета, но засега нека считаме класа на Book за завършен. Той има три полета за съхраняване на данни за книга, може да бъде инициализиран и може да показва данните, които съдържа.

От лявата страна на знака за равенство е декларацията на обекта. Това означава, че искам да направя обект на Книга и да го нарека „първа книга“. От дясната страна на знака за равенство е създаването на нов екземпляр на обект Book. Това, което прави е, отидете на дефиницията на класа Book и пуснете кода в метода конструктор. Така новият екземпляр на обекта Book ще бъде създаден с полета за заглавие, автор и издател, зададени съответно на „Horton Hears A Who!“, „Dr Suess“ и „Random House“. И накрая, знакът равен определя нашия нов обект firstBook да бъде новия екземпляр от класа Book.

instagram story viewer