All posts by Явор Томов

Символни низове. Динамични стрингове. Регулярни изрази.

Както вече споменахме символните низове в Java не са нищо друго от поредица от символи. Познати от C, това е т.нар. char[] – масив от символи. В Java съществува клас String, който репрезентира типа данни символен низ.  Тъй като String е клас, то за да запишем в дадена променлива низ, то ни трябва обект от тип класа String. Както при всички референтни типове, така и при String, стойностите се пазят в Heap-a.
Continue reading Символни низове. Динамични стрингове. Регулярни изрази.

Абстрактни класове и интерфейси. Полиморфизъм

Абстрактни класове

В темата за методи разбрахте, че съществуват и т.нар абстрактни методи. Това са методи, които съдържат само декларация, но нямат имплементация. Декларират се с ключовата дума abstract. Ако декларираме поне 1 такъв метод в рамките на даден клас, то този клас задължително трябва да съдържа в декларацията си думата abstract, тоест трябва да бъде абстрактен.
Continue reading Абстрактни класове и интерфейси. Полиморфизъм

Класове. Наследяване. Създаване и използване на обекти.

След като разгледахме типовете данни в езика Java, установихме, че те се делят на примитивни и на референтни. Казахме, че всеки примитивен тип си има и свой еквивалентен референтен, който го обвива. В теорията на обектноориентираното програмиране основно място заема идеята за обектите, като начин да се опише заобикалящия ни свят. В този ред на мисли, за да бъде дефиниран даден обект Х, който има качества У и Z и може да извършва еди какви си действия {x,y,z}, то той трябва да бъде създаден по предварително определен конкретен шаблон. Затова от тук нататък нека да приемем за определение следното твърдение:
Continue reading Класове. Наследяване. Създаване и използване на обекти.

Методи – деклариране, имплементация и извикване на методи. Видове методи.

 

Методи.

Методите в Java са познатите от други езици функции. Тенденциите в съвременното програмиране се базират строго на стратегията, позната от древността „Разделяй и владей“. Тоест, разделянето на задачата на множество по-малки подзадачи би помогнало за по-лесно осмисляне, по-добра четимост, по- високо ниво на контрол, по-лесно откриване на грешки и тн. Естествено причината за това е намаленият обем на анализираните подзадачи. От друга гледна точка, добра практика е писането на код, който може да бъде използвам многократно или т.нар. code reusing. Естествено, всичко, което може да напишем като код в една програма, би могло да бъде написано и в една единствена главна функция. Не само че е лоша практика, но е почти невъзможно за четене, анализ и разбиране. А един код, обикновено се чете в последствие от много програмисти, които правят промени по него или го доразвиват. Continue reading Методи – деклариране, имплементация и извикване на методи. Видове методи.

Въведение в Java – Примитивни типове и променливи. Оператори и изрази. Стандартен вход и стандартен изход от конзолата. Цикли. Масиви.

Примитивни типове и променливи.

Основна градивна единица на езиците за програмиране са променливите. Известни от математиката, а и от С, променливите служат за временно съхранение на данни в дадена програма. В частност – в Java променливите се делят на два типа – примитивни и референтни. Едните се различават от другите главно по това къде стоят в паметта, както и по сложността и многозначителността си. Примитивните типове данни в езика Java не се различават съществено от тези в езика С. Както е известно всички примитивни типове данни се характеризират с име, размер и стойност по подразбиране. Езикът разполага със следните типове: Continue reading Въведение в Java – Примитивни типове и променливи. Оператори и изрази. Стандартен вход и стандартен изход от конзолата. Цикли. Масиви.