Класове и обекти в Java 8
Обикновено преди раздела за класа в учебниците те пишат цяла глава, която говори за ООП в общи линии, абстрахирайки се от всеки конкретен език за програмиране. Може да се наложи да напиша нещо подобно също, но няма да го правя на този етап, въпреки че подобна глава би била полезна и за урок по Javascript. Предполага се, че вече знаете за ООП от някой друг език за програмиране.
Съдържание
Декларация на класа
Тук декларираме нов клас на име Goblin.
Всички полета, конструктори и методи на класа са декларирани във фигурни скоби.
Ключовата дума class може да бъде предшествана от публичния модификатор, който прави класа достъпен от всички пакети. Ако няма публичен модификатор, както в нашия случай, тогава класът е наличен само в пакета, в който е деклариран.
Декларация на полето
В този пример декларирахме четири полета:
- поле пари с тип int ;
- поле здраве с тип двойно;
- полеви диаманти с тип int;
- име на поле с тип String.
Всеки екземпляр от класа Goblin ще има различна стойност за полетата за пари, здраве, диаманти и име.
Модификаторът за достъп, static и final могат да бъдат поставени в произволен ред, но според конвенцията за кодиране се приема редът, описан в статията.
Паричното поле се декларира с модификатора за частен достъп и ще бъде достъпно само в рамките на този клас.
Полето за здраве е декларирано без модификатори за достъп и ще използва ниво на частен достъп на пакета (полето ще бъде достъпно само в рамките на своя пакет).
Полето за диаманти е декларирано с модификатора за защитен достъп и ще бъде достъпно в този пакет, този клас и класове, които наследяват от този клас (катообявяването на наследници ще бъде обяснено по-късно).
Полето за име се декларира с модификатора за публичен достъп и ще бъде достъпно във всички класове на всички пакети.