Полезни термини, свързани с класовете в Java програмирането

8 декември 2021
Георги Георгиев, Senior Java разработчик в DataArt
Полезни термини, свързани с класовете в Java програмирането
Java е обектно-ориентиран език за програмиране. Всичко в Java е свързано с класове, обекти, атрибути, методи, анотации и примитивни типове. Терминологията, свързана с Java, е доста всеобхватна и се обогатява с развитието на самия програмен език. В тази статия ви представям някои от основните понятия, които биха били от полза на всеки начинаещ програмист, който има желание да се развива в областта на Java.

Java Class

Класът играе ролята на шаблон за създаване на обекти. Създаването на обект се осъществява чрез „извикване“ на конструктора на класа. Този процес е известен като инстанциране, а създаденият обект е инстанция на съответния клас. Класът съдържа: конструктор, методи, атрибути, също така може да има и подкласове (вложени класове).

Java Object

Обектите в Java се създават чрез инстанциране на даден клас. Чрез „извикване“ на конструктора на даден клас се създава нов обект от съответния клас. Обектите се характеризират със състояние, поведение и идентичност.

Class Instance

Инстанцията на даден клас е обект, а процесът за създаване не обекти се нарича инстанциране. Инстанцирането е известно още като деклариране на обект.

Constructor

Конструкторът се използва за инициализация на нови обекти. При извикването на конструктора се заделя памет за дадения обект и се задава неговото началното състояние.

Method

Клас методите са част от body-то на класа и изпълняват определена задача. Методите са с цел да се използва многократно дадена функционалност, без да е необходимо тя да се пренаписва.

Instance Method

Този тип метод е с цел да се да се използва повторно код, който променя състоянието на обекта. За да се използва този тип метод, е необходимо обектът предварително да се инстанцира.

Class Method

Този тип метод е с цел да се използва повторно код, който не променя състоянието на обекта (за разлика от Instance Method). За да се използва този тип метод, не е необходимо обектът предварително да се инстанцира.

Java Static Class

Характерното за статичните класове е, че те не могат да се инстанцират. Респективно - нямат конструктор.

Abstract Java Class

Характерното за абстрактните класове е, че те не могат да се инстанцират. Единствено могат да се наследяват.

Final Java Class

Характерното за финалните класове е, че те не могат да се наследяват, a могат единствено да се инстанцират.

Java Anonymous Class

Характерното за анонимния клас е, че той няма име. За разлика от обикновените класове, този клас се дефинира в друг клас.

Java Singleton Class

Характерното за този клас е, че той може да има само една инстанция.

Java Inner Class

Характерното за този клас е, че той е вложен клас в друг клас.

Java POJO Class

POJO (Plain Old Java Object) класът се характеризира с това, че съдържа само полета, на които могат да се присвоява и получава стойност посредством методи. Целта на този клас е да пренася данни, но не и логика.

Java Еnums

Този тип данни представлява константно множество от възможни стойности.

Java Exceptions

Изключенията в Java са неочаквани събития в поведението на програмата. В Java програмите можем да задаваме кои събития да са неочаквани, което да доведе до неочакван край на изпълнението на програмата.

Primitive Data Type

Примитивните типове в Java са boolean, char, int, short, byte, long, float, and double. Java е стриктно типизиран език за програмиране и поради тази причина променливите в него са от определен тип. Както обектите са от определен клас, така и променливите са от определен тип.

Допълнителни термини, използвани в обектно-ориентираното програмиране:

Abstraction

Абстракцията е характеристика на обектно-ориентираното програмиране и се отнася както за класове, така и за методи. Целта на абстракцията е да се създаде само дефиниция на класа или метода, без да се дефинира тяхното тяло (body). Абстрактните класове не могат да се инстанцират.

Encapsulation

Целта на енкапсулацията е даден обект да се представи като „капсула“ и комуникацията и управлението на тази капсула да се извършва чрез определени входни точки.

Inheritance

Наследяването се отнася за клас, чрез който може да се създаде нов клас, който „наследява“ всички методи, атрибути и конструктори от предшественика си.

Polymorphism

Полиморфизмът е определено свойство на един обект да бъде представено по повече от един начин. Полиморфизмът има две форми: статичен и динамичен.