Класи
во Јава
Во
реалниот свет
често ќе
најдете многу
објекти кои
се од
ист вид.
На
пример може
да има
илјадници велосипеди,
сите со
иста изведба и
модел.
Секој
велосипед е направен
по иста
шема и поради
тоа ги
содржи истите
делови. Кажано
со објектно-ориентирана
терминологија е
дека некој
велосипед е инстанца
од класата
на објектот
велосипед. Класата
е „шема“
од која
секој објект е
креиран.
Следнава „Velosiped“
класа е една
варијанта за
имплементација на
велосипед.
class
Velosiped{
int
brzinaNaDvizenje = 0;
int brzina =
1;
int tempo = 0;
void promeniGoTempoto(int
novaVrednost){
tempo = novaVrednost;
}
void promeniBrzina(int
novaVrednost) {
brzina =
novaVrednost;
}
void zabrzaj(int
zabrzuvanje) {
brzinaNaDvizenje =
brzinaNaDvizenje +
zabrzuvanje
}
void uspori(int
namaluvanje) {
brzinaNaDvizenje =
brzinaNaDvizenje -
namaluvanje;
}
void ispecatiSostojba() {
System.out.println("tempo:" + tempo
+
" brzina
na dvizenje:"+brzinaNaDvizenje+
" brzina:"+brzina);
}
}
Можеби
синтаксата на
Јава програмскиот
јазик ќе
ти изгледа
нова, но
дизајнот на
класата е базиран
на претходниот
напис за
објектот велосипед.
Полињата
brzinaNaDvizenje,
brzina и tempo ја
претставуваат
состојбата на
објектот, а методите (promeniGoTempoto,
promeniBrzina, zabrzaj
итн.) ја
дефинираат
интеракцијата со
надворешниот свет.
Можеби забележа
дека класата
Velosiped не
ја содржи „главната“
(main) метода.
Тоа е
така бидејќи
класата не е
комплетна апликација,
таа е само
шема за
велосипедите кои
можеби ќе
бидат употребени
во апликацијата.
Можноста
за креирање
на нов
објект велосипед
останува на
некоја друга
класа во
апликацијата.
Еве,
како пример,
DemoVelosiped класа
која ќе
креира два
независни велосипеди
и ќе ги
повика нивните
методи.
class
DemoVelosiped {
public static void main(String[] args)
{
// Kreiranje
na dva razlizni
velosiped (objekti
od klasata
Velosiped)
Velosiped velosiped1 = new
Velosiped();;
Velosiped velosiped2 = new
Velosiped()
// Povikuvanje
na metodite
na kreiranite
objekti
velosiped1.promeniGoTempoto(50);
velosiped1.zabrzaj(10);
velosiped1.promeniBrzina(2);
velosiped1.ispecatiSostojba();
velosiped2.promeniGoTempoto(50);
velosiped2.zabrzaj(10);
velosiped2.promeniBrzina(2);
velosiped2.promeniGoTempoto(40);
velosiped2.zabrzaj(10);
velosiped2.promeniBrzina(3);
velosiped2.ispecatiSostojba();
}
}
Излезот (output) од
горенаведеното ќе
ги испечати
вредностите, завршното
темпо, брзината
на движење и
брзината во
која се
наоѓа менувачот
на двата
велосипеди:
tempo:50
brzina na
dvizenje:10 brzina:2
tempo:40 brzina na
dvizenje:20 brzina:3